Questa API è un'applicazione Flask che permette di gestire una To-Do List con autenticazione JWT. Gli utenti possono registrarsi, effettuare il login e gestire le proprie attività. Questa app fa parte di un esercizio fornito da roadmap.sh (https://roadmap.sh/projects/todo-list-api)
- Python 3
- Flask
- Flask-JWT-Extended
- Flask-SQLAlchemy
- SQLite
flask_todo_api/
│── app.py # Configurazione principale dell'app Flask
│── db.py # Inizializzazione del database
│── models.py # Modelli User e ToDo
│── routes/
│ │── auth.py # Gestione autenticazione (register, login)
│ │── todo.py # Gestione delle To-Do List
│── requirements.txt # Dipendenze del progetto
│── README.md # Documentazione del progetto
- Clona il repository
git clone https://github.com/tuo-username/flask-todo-api.git
cd flask-todo-api- Crea un ambiente virtuale
python -m venv venv
source venv/bin/activate # Su Windows usa: venv\Scripts\activate- Installa le dipendenze
pip install -r requirements.txt- Avvia l'applicazione
python app.pyL'applicazione sarà disponibile su http://127.0.0.1:5000.
Questa API utilizza JSON Web Token (JWT) per l'autenticazione.
Endpoint: POST /register
{
"name": "Mario Rossi",
"username": "mariorossi",
"password": "password123"
}Endpoint: POST /login
{
"username": "mariorossi",
"password": "password123"
}Risposta:
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Endpoint: POST /todos
{
"nome": "Comprare il latte",
"descrizione": "Andare al supermercato e comprare il latte."
}Headers:
{
"Authorization": "Bearer <token_JWT>"
}Endpoint: GET /todos Headers:
{
"Authorization": "Bearer <token_JWT>"
}Endpoint: PUT /todos/<id> Headers:
{
"Authorization": "Bearer <token_JWT>"
}Body:
{
"nome": "Comprare il pane",
"descrizione": "Andare al supermercato e comprare il pane."
}Endpoint: DELETE /todos/<id> Headers:
{
"Authorization": "Bearer <token_JWT>"
}