Skip to content

LuisChacha/fastapi-clean-architecture-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastAPI Clean Architecture Auth 🛡️

Este repositorio es un Showcase de Ingeniería de Software que implementa un microservicio de autenticación robusto, siguiendo principios de Clean Architecture y SOLID.

🚀 Stack Tecnológico

  • Python 3.12 + FastAPI (Alto rendimiento y tipado moderno).
  • SQLAlchemy 2.0 (ORM con soporte asíncrono).
  • Alembic (Gestión de migraciones de base de datos).
  • PostgreSQL (Persistencia relacional).
  • Docker & Docker Compose (Contenerización de infraestructura).
  • JWT & Bcrypt (Seguridad avanzada para tokens y hashing).

🏗️ Arquitectura del Proyecto

El código está organizado en capas para garantizar el desacoplamiento:

  • app/api: Controladores y definición de rutas.
  • app/core: Configuraciones globales y lógica de seguridad (JWT).
  • app/infrastructure: Modelos de base de datos y conexión (SQLAlchemy).
  • app/schemas: DTOs y validación de datos con Pydantic.
  • app/services: Lógica de negocio y orquestación.

🛠️ Instalación y Uso

  1. Clonar y configurar:

    git clone [email protected]:LuisChacha/fastapi-clean-architecture-auth.git
    cd fastapi-clean-architecture-auth
  2. Configurar el entorno virtual (venv):

    # Crear el entorno
    python3 -m venv venv
    # Activarlo (Linux/macOS)
    source venv/bin/activate
    
  3. Instalar dependencias:

    pip install --upgrade pip
    pip install -r requirements.txt
    
  4. Configurar variables de entorno:

    cp .env.example .env
    # No olvides editar el .env si necesitas cambiar alguna credencial
    
  5. Levantar infraestructura:

    docker compose up -d 	
  6. Ejecutar migraciones y servidor:

    alembic upgrade head
    uvicorn app.main:app --reload

🛠️ Ejecución del Proyecto

Una vez configurado el entorno y la base de datos, inicia el servidor:

uvicorn app.main:app --reload

Documentación Interactiva: Visita http://localhost:8000/docs para probar los endpoints de Registro, Login y Health Check.

About

Microservicio de autenticación robusto desarrollado con FastAPI, PostgreSQL y Docker, siguiendo principios de Clean Architecture y SOLID.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors