A simple two‑tier web application built with Flask (Python) for the backend and React (TypeScript + Tailwind) for the frontend.
It allows users to create, toggle (mark completed), and delete notes, with persistence in a MySQL database.
-
Backend (Flask + SQLAlchemy + PyMySQL)
- Auto‑creates the database if missing
- Initializes a
notestable withid,note, andcompletedfields - REST API endpoints:
GET /notes→ fetch all notesPOST /notes→ add a new notePUT /notes/<id>→ toggle completion statusDELETE /notes/<id>→ delete a note
- CORS enabled for React frontend
-
Frontend (React + Vite + Tailwind)
- Displays notes in a clean card list
- Add new notes via input
- Toggle completion with a checkbox
- Delete notes with a remove button
- Responsive layout using TailwindCSS
- Backend: Flask, SQLAlchemy, PyMySQL, Flask‑CORS
- Frontend: React, TypeScript, Vite, TailwindCSS
- Database: MySQL
git clone https://github.com/yourusername/flask-notebook-app.git
cd flask-notebook-appThis repository is fully containerized. All services (backend, frontend, and database) are defined in docker-compose.yml.
docker compose up --builddocker compose down