Foodable will be an AI-powered web application designed to help users discover healthy and affordable food options tailored to their dietary needs and budget. The app offers personalized recommendations, recipe sharing, and grocery lists with nutritional insights.
- Personalized Recipe Suggestions: Discover recipes that meet your dietary preferences and budget.
- Custom Grocery Lists: Generate shopping lists from your recipes and dietary needs.
- Nutritional Insights: Get AI-assisted insights into nutritional content to make healthier choices.
- Authentication & Access Control: Secure user accounts using Clerk.js
- Frontend: Built with Next.js and styled using Tailwind CSS for a responsive UI.
- Backend: Node.js API with MongoDB Atlas as the database, which includes vector search capabilities.
- AI & Embedding: Uses OpenAI and MongoDB Atlas Vector Search.
- Deployment: Hosted on Vercel with CI/CD integration.
/project-root
βββ /.github
βββ /frontend # NextJS Front End Code
βββ /__tests__ # Jest Tests
βββ /cypress # Cypress Tests
βββ /public # Public Data and Assets
βββ /src # Source Code
βββ /app # Page Routes and API Routes
βββ /api # API Rotues
βββ /assets # Assets (fonts, images)
βββ /components # UI Components
βββ /config # Configurations of Data
βββ /hooks # Client Side Custom Hooks
βββ /layouts # Client and Server Side Layouts
βββ /lib
βββ /hooks # Client Side Custom Hooks
βββ /utils # Utility Functions for Various Things
βββ /providers # Providers for Application
βββ /server # Methods to Communicate with Server
βββ /api # Fetch Methods to Communicate with API
βββ /hooks # TanStack Hooks to Communicate with API
βββ /stores # Zustand Stores
βββ /types # Types for Data throughout Application
βββ .env.local
βββ /postman # Location of Export Postman Tests and Environment
βββ README.md # Project documentation
Before starting local development or deployment, make sure you've properly created and configured the .env.local
file in the root of the frontend
directory.
You can use the provided env.txt
file at the top level of the project as a reference.
- Prerequisites:
- Node.js
- MongoDB Atlas Account
- Clerk.js Account Setup
- Clone the repository:
git clone git@github.com:MrF1ow/foodable.git cd foodable
- Install packages
npm install
- Ensure Build Process Works Correctly
npm run build
- Start The Application
npm start
- Access the App @:
http://localhost:8000
- Some features are still under development.
- Known issues may still exist. If you encounter any bugs or unexpected behavior, please report them via the
Issues
tab. - The site is using development API keys, which may result in slower response times or limited functionality.
Visit: https://foodable.xyz