Flask Notes App is a minimal, secure, and responsive web-based note-taking application. It is designed with simplicity in mind, providing a clean interface for capturing thoughts while following modern Flask and SQLAlchemy patterns.
🚀 Live Demo: https://flasknotesapp.pythonanywhere.com/
- Secure Authentication: User registration and login with session management via Flask-Login.
- Full CRUD: Create, Read, Update, and Delete notes with ease.
- Rich Text Editing: Integrated with CKEditor for formatted notes (bold, lists, etc.).
- Modern UI: Responsive design built with Bootstrap 5.3 and a built-in Dark Mode toggle.
- Internationalization: Multi-language support (English, Uzbek, Russian) powered by Flask-Babel.
- Security First: CSRF protection, password hashing with Werkzeug, and Open Redirect prevention.
flask-notes-app/
├── app/
│ ├── models.py # Database schemas (User, Note)
│ ├── forms.py # WTForms for Auth and Notes
│ ├── routes/ # Blueprints (auth.py, main.py)
│ ├── extensions.py # Extension initializations (DB, Login, etc.)
│ ├── static/ # CSS, JS, and Images
│ └── templates/ # Jinja2 HTML templates
├── migrations/ # Flask-Migrate database history
├── config.py # Environment configurations
├── main.py # Application entry point
└── requirements/ # Dependency files (common.txt, dev.txt)
git clone [https://github.com/dvrkdev/flask-notes-app.git](https://github.com/dvrkdev/flask-notes-app.git)
cd flask-notes-app
python -m venv venv
# Windows:
venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate
pip install -r requirements/dev.txt
Create a .env file in the root directory:
FLASK_APP=main.py
FLASK_DEBUG=True
SECRET_KEY=your-secret-key-here
DATABASE_URL=sqlite:///app.db
flask db upgrade
flask run
- Framework: Flask
- Database: SQLAlchemy
- Icons: Notes icons by Freepik - Flaticon
Distributed under the MIT License. See LICENSE for more information.