A simple full-stack web application for creating, viewing, updating, and deleting notes.
Built with FastAPI for the backend and vanilla JavaScript/HTML/CSS for the frontend.
- RESTful API supporting Create, Read, Update, and Delete (CRUD) operations on notes
- Lightweight frontend interface for interacting with the backend
- Modular backend structure following clean code principles
- Fast development with asynchronous server support
- Python
- FastAPI
- Uvicorn
- JavaScript
- HTML/CSS
notes/
├── backend/
│ ├── app/
│ │ ├── __init__.py
│ │ ├── main.py # FastAPI app and route setup
│ │ ├── models.py # Data models (e.g., Note schema)
│ │ ├── crud.py # Functions for creating, reading, updating, deleting notes
│ │ ├── database.py # In-memory "database" or database interactions
│ └── requirements.txt
├── frontend/ # Frontend assets (CSS, JS)
│ ├── index.html
│ ├── script.js
│ └── style.css- Python 3.10+
- Git
Fork the repository (optional)
- If you do this step replace "stacmi" with your own username
git clone https://github.com/stacmi/notes.git
cd notespython -m venv venv
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate # On Windows (not tested by me)While on Linux typing deactive while in the venv will take you out of it
pip install -r requirements.txtuvicorn backend.app.main:app --reloadhttp://127.0.0.1:8000 #Frontend will make calls to the backend API.-Add user authentication
-Persist notes using a real database (e.g., SQLite, PostgreSQL)
-Deploy the app to a cloud provider (e.g., Render, Vercel, or AWS)
-Add API testing and frontend form validation
-Improve UI with a frontend framework (optional)
This project is open-source and available under the MIT License.