Skip to content
Marcial-GodesPublic

About

FastAPI REST API for user management (learning project)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Users API

Python FastAPI Tests Status

API REST desarrollada con Python y FastAPI como proyecto personal para consolidar fundamentos de desarrollo backend.

Proyecto centrado en la gestión de usuarios, con operaciones CRUD, validación de datos y tests automatizados, aplicando una estructura clara y buenas prácticas básicas de diseño de APIs.


🚀 Funcionalidades

  • Creación de usuarios
  • Listado de usuarios
  • Obtención de usuario por ID
  • Eliminación de usuarios
  • Validación de datos con Pydantic
  • Persistencia en memoria (fake database)
  • Tests automatizados con pytest
  • Documentación automática con Swagger UI

🗂️ Estructura del proyecto

Users_API/
├── main.py
├── routers/
│   └── users.py
├── models/
│   └── user.py
├── db/
│   └── fake_db.py
├── tests/
│   └── test_users.py
├── requirements.txt
└── README.md

La persistencia se realiza mediante una base de datos en memoria (fake_db.py) con fines formativos.


🛠️ Tecnologías utilizadas

  • Python
  • FastAPI
  • Pydantic
  • Pytest
  • Uvicorn

▶️ Ejecución en local

1️⃣ Clonar el repositorio

git clone https://github.com/Marcial-Godes/Users_API.git
cd Users_API

2️⃣ Crear y activar entorno virtual

python -m venv venv

Windows

venv\Scripts\activate

Linux / macOS

source venv/bin/activate

3️⃣ Instalar dependencias

pip install -r requirements.txt

4️⃣ Ejecutar la API

uvicorn main:app --reload

La API estará disponible en:

http://127.0.0.1:8000

Swagger UI:

http://127.0.0.1:8000/docs

🧪 Tests

Tests implementados con pytest.

Ejecutar tests:

pytest

Casos cubiertos:

  • Creación de usuarios

  • Listado de usuarios

  • Eliminación de usuarios

  • Respuestas HTTP correctas


🎯 Objetivo del proyecto

Proyecto con fines formativos, orientado a practicar:

Diseño de APIs REST

Organización de proyectos backend

Validación de datos

Testing automatizado básico

Uso de FastAPI en un contexto realista

No orientado a producción.

About

FastAPI REST API for user management (learning project)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages