https://github.com/hum2a/culinairy
CulinAIry is an AI-powered recipe generator and meal planning application. It helps users discover new recipes based on available ingredients and dietary preferences, and create personalized meal plans.
https://github.com/hum2a/culinairy
css firebase firebase-auth firestore-database nodejs openai-api psql-database react render tailwindcss
Last synced: about 1 month ago
JSON representation
CulinAIry is an AI-powered recipe generator and meal planning application. It helps users discover new recipes based on available ingredients and dietary preferences, and create personalized meal plans.
- Host: GitHub
- URL: https://github.com/hum2a/culinairy
- Owner: Hum2a
- Created: 2024-12-23T15:27:01.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-21T19:28:24.000Z (11 months ago)
- Last Synced: 2025-03-21T20:27:38.243Z (11 months ago)
- Topics: css, firebase, firebase-auth, firestore-database, nodejs, openai-api, psql-database, react, render, tailwindcss
- Language: CSS
- Homepage: https://culinairy-239n.onrender.com
- Size: 2.32 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CulinAIry
CulinAIry is an AI-powered recipe generator and meal planning application. It helps users discover new recipes based on available ingredients and dietary preferences, and create personalized meal plans.
## Features
- **Recipe Generation**: Generate recipes using ingredients you have on hand
- **Personalized Meal Plans**: Create weekly meal plans based on your preferences
- **Save Favorites**: Store your favorite recipes for future reference
- **User Authentication**: Secure login with Firebase authentication
- **Responsive Design**: Works on desktop and mobile devices
## Tech Stack
### Frontend
- React.js
- React Router for navigation
- Material UI components
- TailwindCSS for styling
- Firebase Auth for authentication
- Axios for API requests
### Backend
- Node.js and Express
- OpenAI GPT-4 for recipe generation
- Firebase Admin SDK
- PostgreSQL database
## Project Structure
```
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── context/ # React context providers
│ │ ├── pages/ # Page components
│ │ ├── styles/ # CSS and styling files
│ │ └── utils/ # Utility functions
│ ├── public/ # Static assets
│ └── package.json # Frontend dependencies
│
└── server/ # Node.js backend
├── src/
│ ├── controllers/ # API request handlers
│ ├── routes/ # API endpoints
│ ├── firebase/ # Firebase configuration
│ └── configs/ # Configuration files
├── server.js # Main server file
└── package.json # Backend dependencies
```
## Getting Started
### Prerequisites
- Node.js (v14 or higher)
- npm or yarn
- Firebase account
- OpenAI API key
- PostgreSQL database
### Installation
1. Clone the repository
```bash
git clone https://github.com/yourusername/CulinAIry.git
cd CulinAIry
```
2. Install backend dependencies
```bash
cd server
npm install
```
3. Create a `.env` file in the server directory with your configuration:
```
PORT=5000
OPENAI_API_KEY=your_openai_api_key
DATABASE_URL=your_postgres_connection_string
```
4. Install frontend dependencies
```bash
cd ../client
npm install
```
5. Create a `.env` file in the client directory:
```
REACT_APP_API_URL=http://localhost:5000/api
REACT_APP_FIREBASE_API_KEY=your_firebase_api_key
REACT_APP_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
REACT_APP_FIREBASE_PROJECT_ID=your_firebase_project_id
REACT_APP_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
REACT_APP_FIREBASE_APP_ID=your_firebase_app_id
```
### Running the Application
1. Start the backend server
```bash
cd server
npm run dev
```
2. Start the frontend development server
```bash
cd client
npm start
```
3. Access the application at `http://localhost:3000`
## API Endpoints
- `POST /api/recipes/generate` - Generate a recipe based on ingredients
- `GET /api/recipes/saved/:uid` - Get saved recipes for a user
- `POST /api/meal-planner/generate` - Generate a meal plan
## Future Enhancements
- Recipe sharing functionality
- Nutritional information for recipes
- Advanced dietary restriction filtering
- Shopping list generation from meal plans
- Mobile app version
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the LICENSE file for details.