https://github.com/striderzz/recipe-manager-flask_mongodb
A full-stack recipe manager web app built with Flask, MongoDB Atlas, and Bootstrap. Features user authentication and full CRUD functionality for personal recipes.
https://github.com/striderzz/recipe-manager-flask_mongodb
authentication bootstrap5 flask flask-login mongodb pymongo recipe-app
Last synced: about 2 months ago
JSON representation
A full-stack recipe manager web app built with Flask, MongoDB Atlas, and Bootstrap. Features user authentication and full CRUD functionality for personal recipes.
- Host: GitHub
- URL: https://github.com/striderzz/recipe-manager-flask_mongodb
- Owner: striderzz
- Created: 2025-03-25T09:35:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-25T10:06:33.000Z (over 1 year ago)
- Last Synced: 2025-03-25T10:36:10.507Z (over 1 year ago)
- Topics: authentication, bootstrap5, flask, flask-login, mongodb, pymongo, recipe-app
- Language: Python
- Homepage:
- Size: 7.73 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Recipe Manager - Flask + MongoDB
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.
---
## Features
- 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
---
## Tech Stack
### Backend
- [Flask](https://flask.palletsprojects.com/)
- [Flask-Login](https://flask-login.readthedocs.io/en/latest/)
- [Flask-PyMongo](https://flask-pymongo.readthedocs.io/)
- [Werkzeug](https://werkzeug.palletsprojects.com/) (for password hashing)
### Database
- [MongoDB Atlas](https://www.mongodb.com/atlas)
- BSON document handling with `bson.ObjectId`
### Frontend
- [Bootstrap 5](https://getbootstrap.com/)
- Jinja2 Templates
- HTML5 & CSS3
---
## API Routes
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/`
View a specific recipe by ID.
- `GET, POST /add_recipe`
Add a new recipe to the user’s list.
- `GET, POST /update_todo/`
Update the details of a specific recipe.
- `GET, POST /delete_todo/`
Confirm and delete a recipe by ID.
**Note:** All recipe-related routes are protected using `@login_required`.
---
## Screenshots
Add real screenshots here once available. Below are placeholders:
### Login Page

### Register Page

### Dashboard

### Recipe Details

### Recipe Details 2

### Delete Confirmation
