Una API RESTful basada en FastAPI inspirada en Death Note, permitiendo gestionar y manipular información relacionada con el universo de Death Note. En donde se podra registar a las personas y especificar su muerte, esto siguiendo las siguientes reglas:
- Solo podran morir las personas registradas con una imagen.
- Despues de registar a la persona tendra 40 seg para registar la causa de la muerte.
- Si no se especifica la causa de la muerte, esta morira por un ataque al corazon.
- Si la causa de la muerte es especificada, se tienen 6 minutos y 40 segundos adicionales para escribir los detalles específicos. En este caso, la persona morirá 40 seg después de especificar los detalles.
- CRUD completo para gestión de personas en la death note
- Integración con Firebase para almacenamiento de datos
- Soporte para subida de imágenes usando Cloudinary
- Documentación automática con Swagger UI
- Manejo de errores HTTP personalizado
- Soporte para CORS
- Python 3.11 o superior
- Cuenta en Firebase
- Cuenta en Cloudinary
- Docker (opcional)
Crear un archivo .env en la raíz del proyecto con las siguientes variables:
FIRE_BASE_KEY=
APY_KEY=
AUTH_DOMAIN=
PROJECT_ID=
STORAGE_BUCKET=
MESSAGING_SENDER_ID=
APP_ID=
MEASUREMENT_ID=
DATABASE_URL=""
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=- Clonar el repositorio
git clone https://github.com/AC-Santiago/DeathNoteFakeAPI.git
cd DeathNoteFakeAPI- Crear y activar entorno virtual
- Con uv:
uv sync
source .venv/bin/activate # Linux/Mac
.\.venv\Scripts\activate # Windows- Copiar el .json de firebase, en la ruta de:
app/json/llave_privada_firebase.json
.
└── app
└── json
└── deathnotefakedb-firebase.json
- Construir la imagen y ejecutarla
docker compose up --buildfastapi run app/main.py --host 0.0.0.0 --port 8000La API estará disponible en http://localhost:8000
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
GET /personas: Obtiene lista de personasPOST /personas: Crea una nueva personaPOST /personas/death: Programa la muerte de la persona especificada
- FastAPI - Framework web moderno y rápido
- Firebase Admin SDK - Base de datos y autenticación
- Cloudinary - Gestión de imágenes en la nube
- Pydantic - Validación de datos
- Docker - Containerización
- Santiago Acosta Cespedes - Desarrollo de la Api - AC-Santiago
- Sebastian Alejandro Mojica Lozada - Colaborador - Sebastianmjk
- Julio Cesar Contreras Granda - Colaborador - Juliocontreras03
- Santiago Antonio Neira - Colaborador - Santiago-Neira
Este proyecto está bajo la Licencia GPL-3.0 license - mira el archivo LICENSE para detalles