A modern web application that helps users assess their eligibility for immigration to different countries based on their personal profile, qualifications, and preferences. It leverages an AI agent to provide personalized recommendations and insights.
- 📋 Interactive multi-step questionnaire
- 🔍 Comprehensive eligibility assessment
- 📱 Fully responsive design
- ✨ Real-time form validation
- 🌍 Multi-country analysis
- 📊 Detailed results visualization
- Framework: Next.js 14
- Language: TypeScript
- Styling: Tailwind CSS
- Form Management: React Hook Form with Zod validation
- UI Components: Shadcn UI
- Testing: Jest & React Testing Library
- Node.js 18.x or later
- npm or yarn
- Clone the repository:
git clone https://github.com/juliettech13/gyt.git
cd gyt
- Install dependencies:
npm install
# or
yarn install
- The default environment is set to
development
, unless aNODE_ENV
vairable says otherwise in the.env
file. We're using thelocalhost:8000
API for development based on our local AI agent port. However, this may be different for you if you're using a different port for your back-end.
Create a .env
file in the root directory and add your environment variables:
NEXT_DEV_API_URL=localhost:8000
NEXT_PROD_API_URL=your_api_url_here
- Run the development server:
npm run dev
# or
yarn dev
- Open http://localhost:3000 with your browser to see the result.
Run the test suite:
npm test
# or
yarn test
Run tests in watch mode:
npm run test:watch
# or
yarn test:watch
src/
├── app/
│ ├── components/ # Reusable UI components
│ ├── data/ # Static data and configurations
│ ├── pages/ # Page components
│ ├── services/ # API services and business logic
│ └── strings/ # Text content and translations
├── lib/ # Utility functions and helpers
└── styles/ # Global styles and Tailwind configuration
- The application follows a component-based architecture
- Uses React Server Components where possible for optimal performance
- Implements form validation using Zod schemas
- Follows accessibility best practices
- Includes comprehensive test coverage
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Next.js
- UI components from Shadcn UI
- Styling with Tailwind CSS