FitKitchen is a personalized catering system designed to provide healthy, customized meals based on individual health needs and preferences. It combines nutritional science with culinary excellence to deliver the perfect meal plan for each user.
https://fit-kitchen-frontend-tst.vercel.app
For testing API directly to backend: https://fitkitchen-backend.up.railway.app
Main Report: https://docs.google.com/document/d/1uTAKZIA2Duj45DMhAbs9XPqd9WPt1WfE9tO6SI_jdx8/edit?usp=sharing
API documentation: https://fit-kitchen-frontend-tst.vercel.app/api-docs
- User registration and authentication with email/password and Google OAuth
- Comprehensive health assessment to gather user's health data, allergies, and dietary preferences
- Personalized meal plan recommendations based on health assessment results
- Meal selection and customization based on nutritional targets and user preferences
- Order history and meal plan tracking
- Recipe recommendation feature for users to suggest new menu ideas
- Responsive and intuitive user interface
- Node.js with Express.js for server-side logic
- Supabase for database and authentication
- JWT (Bearer token) for user authentication and session management
- Docker for concatenation
- React.js for building the user interface
- React Router for client-side routing
- React Context for state management
- CSS modules for styling
- Lucide React for icons
- Axios for making API requests
- Node.js and npm installed on your machine
- Supabase project set up with the required tables and schema
- Clone the repository:
git clone [<repository-url>](https://github.com/billysm23/FitKitchen_FrontendTST)(https://github.com/billysm23/FitKitchen_BackendTST)- Install the dependencies for both backend and frontend:
Backend:
npm install
Frontend:
cd fit-kitchen-frontend
npm install- Set up environment variables:
- Create a
.envfile in thebackenddirectory and provide the required environment variables
NODE_ENV=development or production
PORT=PORT
JWT_SECRET=JWT_SECRET
JWT_EXPIRES_IN=JWT_EXPIRES_IN
SUPABASE_URL=SUPABASE_URL
SUPABASE_KEY=SUPABASE_KEY
CLIENT_URL=CLIENT_URL
SUPABASE_GOOGLE_CLIENT_ID=SUPABASE_GOOGLE_CLIENT_ID
SUPABASE_GOOGLE_CLIENT_SECRET=SUPABASE_GOOGLE_CLIENT_SECRET- Create a
.envfile in thefrontenddirectory and provide the required environment variables
REACT_APP_API_URL=REACT_APP_API_URL
REACT_APP_ENV=development or production
GENERATE_SOURCEMAP=false
REACT_APP_GOOGLE_CLIENT_ID=REACT_APP_GOOGLE_CLIENT_ID
REACT_APP_RECIPE_API_KEY=this_is_from_my_friend_Steven_Corne_so_you_can_ask_him- Start the development servers:
Backend:
docker compose up
Frontend:
cd fit-kitchen-frontend
npm start