A simple Notes Management Web Application built with Python and Flask, designed to demonstrate the MVC (Model-View-Controller) architecture, RESTful API principles, and Object-Oriented Programming (OOP) concepts.
- Add, view, and list notes dynamically
- Uses MVC pattern for clean separation of logic
- RESTful routes for scalable web design
- Built with Object-Oriented Programming principles
- Lightweight and beginner-friendly project
- Data stored in memory (can easily extend to database later)
mypy/
│
├── app.py # Main Flask application
│
├── controllers/ # Handles app logic and routes
│ └── note_controller.py
│
├── models/ # Defines the data model and logic
│ └── note_model.py
│
├── views/ # Jinja2 templates (HTML files)
│ ├── index.html
│ ├── notes.html
│ └── add_note.html
│
└── README.md
- Model → Manages data (NoteModel)
- View → User interface (HTML templates)
- Controller → Connects Model and View (NoteController)
Each route follows REST conventions:
| Method | Endpoint | Description |
|---|---|---|
| GET | /notes |
Get all notes |
| GET | /notes/add |
Render add note page |
| POST | /notes/add |
Add a new note |
The project uses classes like NoteModel and NoteController to keep code modular, reusable, and easier to maintain.
git clone https://github.com/zedfaceless/mypy.git
cd mypypip install flaskpython app.pyThen open your browser and go to http://127.0.0.1:5000
- Python 3
- Flask
- Jinja2 Templates
- MVC Architecture
- RESTful Routing
- Object-Oriented Programming (OOP)
Melchizedek Fernandez
Santa Cruz, Zambales, Philippines
zedfaces.fernandez@gmail.com
LinkedIn | GitHub
- Integrate a database (SQLite or PostgreSQL)
- Add authentication (login & registration)
- Build a front-end with React or Vue
- Deploy online using Render or Railway
This project is part of my personal study on:
- Building modular Flask applications
- Applying MVC and REST principles
- Practicing object-oriented Python
- Preparing for backend development roles
✨ “Clean code is simple, direct, and elegant — just like this app.” ✨