Task Tracker API es una API para gestionar usuarios y tareas con autenticación JWT. Esta versión está construida con FastAPI y tiene rutas de usuario y tareas separadas.
- Python 3.11+ (recomendado)
git
- Fastapi
- JWT
- SQlite
- Passlib
- Pydantic
- Dependency Injection
git clone https://github.com/marcozxdev/task-tracker-API
cd task-tracker-API
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtfastapi runLa API quedará disponible en http://127.0.0.1:8000.
La aplicación registra los routers en main.py con estos prefijos:
users→ rutas de usuariousers/tasks→ rutas de tareas
- Método:
POST - Ruta:
/users/register/ - Body JSON:
{ "user_name": "mi_usuario", "email": "correo@ejemplo.com", "password": "contraseña123" }
- Método:
POST - Ruta:
/users/login - Datos de formulario:
username: correo del usuariopassword: contraseña
Respuesta esperada:
{
"access_token": "...",
"token_type": "bearer"
}- Método:
GET - Ruta:
/users/me/ - Header:
Authorization: Bearer <token>
- Método:
PUT - Ruta:
/users/update/ - Header:
Authorization: Bearer <token> - Body JSON igual que en registro
- Método:
DELETE - Ruta:
/users/del/{id} - Header:
Authorization: Bearer <token>
- Método:
POST - Ruta:
/users/tasks/new_task/ - Header:
Authorization: Bearer <token> - Body JSON:
{ "titulo": "Mi tarea", "descripcion": "Descripción de la tarea" }
El estado de la tarea se crea automáticamente como
EN-PROGRESO.
- Método:
GET - Ruta:
/users/tasks/list/ - Header:
Authorization: Bearer <token> - Query params opcionales:
limit(por defecto 5)state(HECHA,EN-PROGRESO,OLVIDADA)
Ejemplo:
curl "http://127.0.0.1:8000/users/tasks/list/?limit=10&state=EN-PROGRESO" \
-H "Authorization: Bearer <token>"- Método:
GET - Ruta:
/users/tasks/find/ - Header:
Authorization: Bearer <token> - Query params:
s: texto a buscar en el títulolimit: cantidad máxima de resultados
Ejemplo:
curl "http://127.0.0.1:8000/users/tasks/find/?s=mi%20tarea&limit=1" \
-H "Authorization: Bearer <token>"- Método:
PATCH - Ruta:
/users/tasks/state/{id_task} - Header:
Authorization: Bearer <token> - Query param:
state:HECHA,EN-PROGRESOoOLVIDADA
Ejemplo:
curl -X PATCH "http://127.0.0.1:8000/users/tasks/state/5?state=HECHA" \
-H "Authorization: Bearer <token>"- Método:
DELETE - Ruta:
/users/tasks/del/{id_task} - Header:
Authorization: Bearer <token>
Ejemplo:
curl -X DELETE "http://127.0.0.1:8000/users/tasks/del/5" \
-H "Authorization: Bearer <token>"- La autenticación usa JWT con
Authorization: Bearer <token>. - Las rutas de tareas dependen de un usuario autenticado.
- Si necesitas ver la documentación automática de OpenAPI, visita:
http://127.0.0.1:8000/docshttp://127.0.0.1:8000/redoc