La aplicación expone la API principal del eCommerce que interactúa con una base de datos no-relacional.
- API RESTful: Proporciona endpoints para realizar operaciones CRUD de productos, usuarios y órdenes de compra.
- MongoDB Atlas: Utiliza MongoDB como base de datos y Pymongo para interactuar con la aplicación.
- Validación de Datos: Usa Pydantic para validación y gestión de datos.
- Documentación Automática: Genera automáticamente documentación interactiva con Swagger UI.
- Autenticación y Autorización: Utiliza tokens JWT para manejo de sesión, verifiación de identidad e interacción con endpoints en base a roles.
- Email transaccional: Utiliza FastAPI-MAIL para envío automático de notificaciónes de compra, token de verificación para nuevos usuarios y cambio de contraseña.
- Gestion de dependencias: Utiliza Poetry como gestor de dependencias y entorno virtual predeterminado.
- Python 3.12
- MongoDB (de preferencia MongoDB Atlas remoto para permitir funcionalidad de índice de búsqueda)
- Dependencias del proyecto (ver
requirements.txt
)
- Clonar repositorio
git clone https://github.com/andresbonelli/proyecto-final-backend
- Navegar a directorio raíz
cd proyecto_final_backend
- Instalar dependencias
poetry install
- Crear archivo
.env
y poblar las variables de entorno necesarias (ver.env.example
)
touch '.env'
echo '.env' >> .gitignore
- (opcional) Generar un usuario administrador general (ver ejemplo en
scripts/ADMIN_USER_CONF.example
)
cd scripts && touch '.ADMIN_USER_CONF'
(añadir al archivo las variables de 'USERNAME', 'EMAIL' y 'PASSWORD' personalizadas)
python -m scripts.create_super_user
echo '.ADMIN_USER_CONF' >> .gitignore
- Ejecutar modo de desarrollo.
fastapi dev
Navegar a la documentación expuesta en http://localhost:8000/docs