Skip to content

JosueCristhoper/task-manager-api-azure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Global Task & Networking API

Esta es una API REST profesional desarrollada con FastAPI, diseñada para demostrar capacidades de arquitectura backend, persistencia de datos y despliegue escalable en la nube. Actualmente, funciona como un nodo interactivo de networking donde los usuarios pueden registrar mensajes y expectativas profesionales.

Caracteristicas

  • Documentacion Interactiva: Swagger UI integrada para pruebas de endpoints en tiempo real.
  • Arquitectura Modular: Separacion clara de responsabilidades (Routers, Schemas, Modelos y CRUD).
  • Validacion Robusta: Uso de Pydantic v2 para asegurar la integridad de los datos.
  • Persistencia en la Nube: Integracion completa con PostgreSQL (Azure Database for PostgreSQL Flexible Server).
  • Seguridad: Gestion de credenciales mediante variables de entorno (python-dotenv).
  • Despliegue Cloud: Alojado en Azure App Service con flujo de CI/CD via GitHub Actions.

Gestión de Datos y Metadatos (Novedad)

  • Trazabilidad de Mensajes: Implementación de marcas de tiempo automáticas (created_at) mediante migraciones de esquema en PostgreSQL.
  • Estándar Internacional: Uso del formato ISO 8601 y zona horaria UTC, garantizando que los mensajes se registren con precisión independientemente de la ubicación del servidor.
  • Auditoría de Interacciones: Capacidad de ordenar y filtrar mensajes por fecha de creación, mejorando la analítica de la comunidad.

Stack Tecnologico

  • Lenguaje: Python 3.13+
  • Framework: FastAPI
  • ORM: SQLAlchemy (PostgreSQL Driver: psycopg2)
  • Base de Datos: PostgreSQL (Azure)
  • Servidor ASGI: Uvicorn
  • Cloud: Microsoft Azure

Instalacion y Uso Local

Si desea ejecutar este proyecto localmente conectado a la base de datos cloud:

  1. Clonar el repositorio: git clone https://github.com/JosueCristhoper/task-manager-api-azure.git

  2. Crear y activar un entorno virtual: python -m venv venv

    En Windows:

    venv\Scripts\activate

  3. Instalar dependencias: pip install -r requirements.txt

  4. Configurar variables de entorno: Crear un archivo llamado .env en la raiz del proyecto con el siguiente formato:

    DB_USER=tu_usuario
    DB_PASSWORD=tu_contraseña
    DB_HOST=tu_host_azure
    DB_PORT=5432
    DB_NAME=postgres
    
  5. Iniciar el servidor: uvicorn app.main:app --reload

  6. Acceder a la documentacion: Visita http://127.0.0.1:8000/docs para interactuar con la API.


Desarrollado por Josue (https://www.linkedin.com/in/josuecristhoper/)

About

API REST Profesional con Arquitectura Modular: Implementada con FastAPI, PostgreSQL (Azure) y CI/CD. Sistema de persistencia escalable con trazabilidad temporal ISO 8601.. Incluye autenticación, manejo de base de datos y despliegue CI/CD.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages