Skip to content

andresbonelli/TiendaOnline-backend

Repository files navigation

Proyecto individual módulo Back End

Aplicación eCommerce sin pasarela de pagos

Características

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.

Requisitos

  • Python 3.12
  • MongoDB (de preferencia MongoDB Atlas remoto para permitir funcionalidad de índice de búsqueda)
  • Dependencias del proyecto (ver requirements.txt)

Intalación

  1. Clonar repositorio
git clone https://github.com/andresbonelli/proyecto-final-backend
  1. Navegar a directorio raíz
cd proyecto_final_backend
  1. Instalar dependencias
poetry install
  1. Crear archivo .env y poblar las variables de entorno necesarias (ver .env.example)
touch '.env'
echo '.env' >> .gitignore
  1. (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
  1. Ejecutar modo de desarrollo.
fastapi dev

Navegar a la documentación expuesta en http://localhost:8000/docs

About

Bootcamp Devlights 3.0 Proyecto Final (Backend API)

Resources

Stars

Watchers

Forks

Languages