A full-stack Recipe Management Web Application built using Flask, MongoDB Atlas, and Bootstrap 5.
Users can securely register, log in, and manage their personal collection of recipes, including title, ingredients, steps, category, and cuisine.
- User Authentication (Register, Login, Logout) using
Flask-Login
- Secure password hashing with
werkzeug.security
- Full CRUD functionality for recipes: Add, View, Edit, Delete
- Recipe categorization by:
- Category: Breakfast, Lunch, Dinner, etc.
- Cuisine: Italian, Indian, Chinese, etc.
- Cloud-based MongoDB Atlas database integration
- Responsive frontend with Bootstrap 5 and custom CSS
- Gradient backgrounds and a modern UI
- Clean Flask code structure with modular routing
- Flask
- Flask-Login
- Flask-PyMongo
- Werkzeug (for password hashing)
- MongoDB Atlas
- BSON document handling with
bson.ObjectId
- Bootstrap 5
- Jinja2 Templates
- HTML5 & CSS3
All core routes in the app:
-
GET /
Redirects to the login page. -
GET, POST /register
Register a new user. -
GET, POST /login
Login with username and password. -
GET /logout
Logout the current user. -
GET /home
Dashboard showing all recipes for the logged-in user. -
GET /todos/<id>
View a specific recipe by ID. -
GET, POST /add_recipe
Add a new recipe to the user’s list. -
GET, POST /update_todo/<id>
Update the details of a specific recipe. -
GET, POST /delete_todo/<id>
Confirm and delete a recipe by ID.
Note: All recipe-related routes are protected using @login_required
.
Add real screenshots here once available. Below are placeholders: