Ingresa al siguiente link para ver la aplicaión web en funcionamiento 🚀 Mis Tareas
Esta corresponde al BE de una aplicación simple de gestión de tareas, registro y autenticación de usuarios
Asegúrate de tener Docker instalado en la máquina de destino (si quieres correrlo con Docker). Web oficial de Docker.
-
Clone the repository:
git clone https://github.com/diegoavellanedat17/fastapi-hello-world.git cd fastapi-to-dos
-
Genera la clave secreta para JWT:
openssl rand -base64 32
Crea un archivo .env en la raíz de la carpeta y guarda la clave secreta generada:
SECRET_KEY=26kVSvW6+njzlj5SUPxXmHYiqAVsD/kFQn9soumBxsk=
-
Docker Build y Run:
docker build -t fastapi-to-dos . docker run -d -p 8000:8000 fastapi-to-dos
Acceso a la base de datos del contenedor Docker:
docker ps docker exec -it <container-id> /bin/bash sqlite3 todos.db
Para ejecutar localmente con Docker:
- Clona el repositorio y configura la clave secreta como se menciona arriba.
- Construye la imagen Docker y ejecútala con los comandos proporcionados.
Para ejecutar localmente sin Docker:
- Clona el repositorio y configura la clave secreta como se menciona arriba.
- Instala las dependencias de Python especificadas en requirements.txt.
- Ejecuta la aplicación usando el comando adecuado para tu entorno.
La colección de Postman para este proyecto está disponible en el archivo Fast API TO DOs.postman_collection. Puedes importarla en Postman siguiendo estos pasos:
- Abre Postman.
- Haz clic en "Import" en la esquina superior izquierda.
- Selecciona el archivo Fast API TO DOs.postman_collection.
- Haz clic en "Import" para agregar la colección a tu Postman.
- Esta colección incluye todas las rutas necesarias para interactuar con la API.
Esta colección incluye todas las rutas necesarias para interactuar con la API. A continuación, se describen las principales rutas y sus métodos:
- Descripción: Permite crear una nueva tarea.
- Método: POST
- Endpoint:
/tasks/
- Body: Debe incluir los datos de la tarea a crear.
- Headers: Se requiere un token de autenticación válido.
- Descripción: Obtiene todas las tareas creadas por el usuario autenticado.
- Método: GET
- Endpoint:
/tasks/
- Headers: Se requiere un token de autenticación válido.
- Descripción: Obtiene detalles de una tarea específica por su ID.
- Método: GET
- Endpoint:
/tasks/{task_id}
- Parámetros de ruta:
task_id
- ID de la tarea a consultar. - Headers: Se requiere un token de autenticación válido.
- Descripción: Actualiza los detalles de una tarea existente por su ID.
- Método: PUT
- Endpoint:
/tasks/{task_id}
- Parámetros de ruta:
task_id
- ID de la tarea a actualizar. - Body: Debe incluir los datos actualizados de la tarea.
- Headers: Se requiere un token de autenticación válido.
- Descripción: Elimina una tarea específica por su ID.
- Método: DELETE
- Endpoint:
/tasks/{task_id}
- Parámetros de ruta:
task_id
- ID de la tarea a eliminar. - Headers: Se requiere un token de autenticación válido.
docker exec -it <container-id> pytest
pytest
Asegúrate de tener un entorno configurado adecuadamente antes de ejecutar los tests. Los tests deben ejecutarse sin errores para verificar el correcto funcionamiento de la aplicación.