Note Taker is a web-based application built using Flask and SQL that allows users to securely create, manage, and store personal notes.
The application demonstrates backend development concepts including user authentication, database integration, CRUD operations, and structured application architecture using Flask Blueprints.
- User Registration & Login Authentication
- Secure Session Management
- Create, Read, Update, Delete (CRUD) Notes
- Database Integration using SQL
- Modular Flask Application Structure
- Organized Templates & Static Files
- Python
- Flask
- SQL (SQLite / PostgreSQL depending on configuration)
- HTML5
- CSS3
- Jinja2 Templating Engine
project-root/
│
├── website/
│ ├── __pycache__/
│ ├── static/ # CSS, JS, Images
│ ├── templates/ # HTML Templates
│ ├── __init__.py # App factory
│ ├── auth.py # Authentication routes
│ ├── models.py # Database models
│ └── views.py # Application routes
│
├── .gitignore
├── config.ini # Configuration settings
├── main.py # Entry point of application
├── requirements.txt
└── README.md
git clone https://github.com/Pratik5767/note-taker.git
cd <project-folder>python -m venv venvWindows:
venv\Scripts\activateMac/Linux:
source venv/bin/activatepip install -r requirements.txtpython main.pyApplication will run on:
http://127.0.0.1:5000
The application uses SQL-based relational database with:
- User Model
- Notes Model
- Relationship between Users and Notes
Each user can create and manage their own notes securely.
- User registers with email and password
- Password is securely stored (hashed)
- Session management maintains login state
- Logout functionality clears session
- Flask application factory pattern
- Blueprints for modular routing
- SQL database modeling
- Authentication & session handling
- CRUD implementation in web apps
- Project structuring for scalability
- Add password reset functionality
- Implement REST API endpoints
- Add pagination for notes
- Deploy to cloud (Render / AWS / Azure)
- Add Docker support
Pratik Vishwas Salunkhe
If you found this project helpful, consider giving it a ⭐ on GitHub.