Objective: To empower individuals to discover, personalize, and track their food choices through a user-friendly web application, promoting informed decision-making and sustainable healthy eating habits.
- API_KEY= Authorization key from spoonacular account
- HOST= http://my-app.om
- NEXTAUTH_URL= http://my-app.com
- NEXTAUTH_SECRET= SHA256 hash string
- JWT_SECRET= another SHA256 hash string
- DATABASE_URL= your postgresql database url
- _SHADOW_DATABASE_URL= your shadow database url
- GOOGLE_CLIENT_ID= Your google client id
- GOOGLE_CLIENT_SECRET= Your google client secret key
- GITHUB_ID= Your github client id
- GITHUB_SECRET= Your github client secret key
- NODE_ENV= DEVELOPMENT/PRODUCTION
- Next.js
- Tailwind.css
- Jest
- React-Testing-Library
- Cypress
- React-hook-form
- Next-auth
- Next-pwa
- Postgresql and Prisma
- Prettier
- Eslint
- Progressive Web App: The application must deliver a native-like app experience on any device, even offline.
- Unit Tests & End-to-End Tests: The application must be comprehensively tested to ensure code quality and functionality at every level.
- Keyboard Accessibility: The application must be fully accessible to users with keyboard input.
- Recipe Search & Navigation: The application must provide powerful search, filtering, sorting, and pagination capabilities to make it easy to discover recipes.
- Collection Tag Display: The application must display collection tags on recipes that have been saved by the user.
- Recipe & Meal Calculators: The application must provide fully tested and accurate recipe, ARM, and meal size calculators.
- Recipe Details Page: The application must provide a dedicated page for in-depth recipe information.
- User Collections Pages: The application must allow users to organize and manage saved recipes in personalized collections.
- Collection Management: The application must allow users to create, rename, and delete collections with ease.
- Recipe Management: The application must allow users to store, move, and delete recipes from their collections effortlessly.
- Real-time Form Validation: The application must provide instant feedback to ensure accurate data entry without errors.
- Loading Indicators: The application must provide visual cues to inform users about data loading and processing.
- Protected Routes & Conditional Content: The application must provide secure access and dynamic content delivery for a safe and personalized experience.
- Social Sign-In: The application must provide convenient login options using existing social media accounts.