Skip to content

Danielef12/ToDoList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📌 Flask To-Do List API

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)

Tecnologie Utilizzate

  • Python 3
  • Flask
  • Flask-JWT-Extended
  • Flask-SQLAlchemy
  • SQLite

Struttura del Progetto

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

Installazione

  1. Clona il repository
git clone https://github.com/tuo-username/flask-todo-api.git
cd flask-todo-api
  1. Crea un ambiente virtuale
python -m venv venv
source venv/bin/activate  # Su Windows usa: venv\Scripts\activate
  1. Installa le dipendenze
pip install -r requirements.txt
  1. Avvia l'applicazione
python app.py

L'applicazione sarà disponibile su http://127.0.0.1:5000.


Autenticazione con JWT

Questa API utilizza JSON Web Token (JWT) per l'autenticazione.

Registrazione

Endpoint: POST /register

{
  "name": "Mario Rossi",
  "username": "mariorossi",
  "password": "password123"
}

Login

Endpoint: POST /login

{
  "username": "mariorossi",
  "password": "password123"
}

Risposta:

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Gestione To-Do List

Creare un To-Do (Protetto da JWT)

Endpoint: POST /todos

{
  "nome": "Comprare il latte",
  "descrizione": "Andare al supermercato e comprare il latte."
}

Headers:

{
  "Authorization": "Bearer <token_JWT>"
}

Ottenere tutti i To-Do dell'utente

Endpoint: GET /todos Headers:

{
  "Authorization": "Bearer <token_JWT>"
}

Modificare un To-Do

Endpoint: PUT /todos/<id> Headers:

{
  "Authorization": "Bearer <token_JWT>"
}

Body:

{
  "nome": "Comprare il pane",
  "descrizione": "Andare al supermercato e comprare il pane."
}

Eliminare un To-Do

Endpoint: DELETE /todos/<id> Headers:

{
  "Authorization": "Bearer <token_JWT>"
}

About

App di ToDoList da esercizi roadmap.sh (https://roadmap.sh/projects/todo-list-api)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages