Skip to content

BrisaDiaz/fitness-wiki-nextjs-app

Repository files navigation

WikiFit: A Web App for Health-Conscious Foodies with Advanced Nutritional Guidance

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.

Demo Author

📸 Screenshots

image image image

🤐 Environment variables

  • 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

Technologies and tools:

  • Next.js
  • Tailwind.css
  • Jest
  • React-Testing-Library
  • Cypress
  • React-hook-form
  • Next-auth
  • Next-pwa
  • Postgresql and Prisma
  • Prettier
  • Eslint

User Requirements

  • 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.