Este es el proyecto final de un curso de Udemy que realicé, el cual es una aplicación fullstack para la gestión de tareas (ToDo List).
Autor del curso: Eric Roby
- Frontend: Jinja2
- Seguridad y Autenticación: OAuth2
- Hashing de Contraseñas: Bcrypt
- Base de Datos: SQLite3
- Generación de JWT: JOSE
- Backend: FastAPI
La aplicación de ToDo List permite a los usuarios registrarse y gestionar sus propias tareas. Incluye funcionalidades como:
- Registro y autenticación de usuarios.
- Creación, edición y eliminación de tareas.
- Edición de contraseñas.
- Visualización de las tareas específicas de cada usuario.
- Clona este repositorio:
git clone <URL_DEL_REPOSITORIO>
- Navega al directorio del proyecto:
cd <NOMBRE_DEL_DIRECTORIO>
- Crea y activa un entorno virtual:
python -m venv venv source venv/bin/activate # En Windows usa `venv\Scripts\activate`
- Instala las dependencias:
pip install -r requirements.txt
- Ejecuta la aplicación:
uvicorn main:app --reload
Una vez que la aplicación está en funcionamiento, puedes acceder a ella en http://127.0.0.1:8000.
- /register: Registro de nuevos usuarios.
- /login: Autenticación de usuarios existentes.
- /todos: CRUD de tareas (requiere autenticación).
- GET /todos: Obtiene todas las tareas del usuario autenticado.
- POST /todos: Crea una nueva tarea.
- PUT /todos/{id}: Actualiza una tarea existente.
- DELETE /todos/{id}: Elimina una tarea.
-
Registro de Usuario:
Envía una solicitud POST a
/registercon el siguiente cuerpo:{ "username": "nuevo_usuario", "password": "password123" } -
Inicio de Sesión:
Envía una solicitud POST a
/logincon el siguiente cuerpo:{ "username": "nuevo_usuario", "password": "password123" }La respuesta incluirá un token JWT que debes usar para autenticarte en los endpoints protegidos.
-
Gestión de Tareas:
Envía una solicitud GET a
/todospara obtener las tareas, usando el token JWT en los encabezados de autorización:Authorization: Bearer <token>
Si deseas contribuir a este proyecto, por favor, sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad). - Realiza los cambios necesarios y haz commit (
git commit -am 'Añade nueva funcionalidad'). - Empuja los cambios a la rama (
git push origin feature/nueva-funcionalidad). - Abre un Pull Request.