A secure and modern REST API for managing personal tasks, built with Flask, JWT, and SQLAlchemy. Designed as a full-stack project for learning, testing, and extending.
- β
User registration and authentication (
/signup,/login) - β JWT-protected routes
- β Full CRUD for tasks (Create, Read, Update, Delete)
- β Task ownership per user
- β
Clean code structure (
models,routes,extensions) - β Ready for frontend integration (React)
backend/
βββ app.py # App entrypoint
βββ extensions.py # DB & JWT init
βββ models.py # SQLAlchemy models
βββ routes.py # Auth + task routes
βββ requirements.txt # Dependencies
βββ .gitignore # Excludes venv, db, etc.
| Method | Endpoint | Description |
|---|---|---|
| POST | /signup |
Create user |
| POST | /login |
Get JWT token |
| Method | Endpoint | Description |
|---|---|---|
| GET | /tasks |
List user tasks |
| GET | /tasks/<id> |
Get single task |
| POST | /tasks |
Create task |
| PUT | /tasks/<id> |
Update task |
| DELETE | /tasks/<id> |
Delete task |
β‘οΈ Use Authorization: Bearer <token> header for protected routes.
- Clone the repo
- Create virtualenv:
python -m venv venv source venv/bin/activate # on Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt - Run the app:
python app.py
Backend: Flask, SQLAlchemy, JWT, SQLite
Security: Password hashing, route protection
Testing: Postman
Marco-Antonio Luchian
LinkedIn https://www.linkedin.com/in/marco-luchian-46293a244/