Saltar al contenido
/aldanaCode
Proyectos
Backend · 2025completado

Libreria API

API REST para gestionar una biblioteca digital.

API backend construida con FastAPI para gestionar usuarios, libros, categorías y permisos de acceso. Incluye autenticación mediante JWT y un sistema de roles orientado al control de las operaciones de la plataforma.

FastAPI
framework
REST
arquitectura
JWT
autenticación
RBAC
control de acceso
El problema

Una biblioteca digital necesita controlar diferentes tipos de usuarios y operaciones sobre sus recursos. No todos los usuarios deben tener las mismas capacidades para crear, modificar o eliminar libros y categorías.

La solución

Se desarrolló una API REST con FastAPI que centraliza la gestión de usuarios, libros y categorías. La API incorpora autenticación mediante JWT y un sistema de roles y permisos para controlar el acceso a las diferentes operaciones.

Arquitectura

Cómo está montado

Las capas de arriba abajo, con la tecnología concreta de cada una.

  1. 01

    API REST

    FastAPI expone los endpoints de la aplicación siguiendo principios REST y utiliza JSON como formato de comunicación.

  2. 02

    Autenticación

    La API implementa registro y autenticación de usuarios mediante tokens JWT para proteger los recursos que requieren autorización.

  3. 03

    Usuarios y permisos

    El sistema permite gestionar usuarios, roles y permisos, diferenciando las operaciones disponibles según el nivel de autorización.

  4. 04

    Gestión de libros

    La API proporciona operaciones para consultar, crear, actualizar y eliminar libros, incluyendo información como título, autor, categoría y archivo asociado.

  5. 05

    Persistencia

    La aplicación mantiene una capa independiente para la gestión de la base de datos, modelos y operaciones CRUD.

Decisiones técnicas

Qué elegí y qué descarté

  • D01

    API REST con FastAPI

    Se eligió FastAPI para construir una API ligera y estructurada, aprovechando el tipado de Python y la definición clara de endpoints.

  • D02

    Autenticación mediante JWT

    La autenticación utiliza tokens JWT para permitir que los usuarios accedan de forma segura a los recursos protegidos de la API.

  • D03

    Roles y permisos

    El acceso a las operaciones se controla mediante roles y permisos, permitiendo diferenciar las capacidades de administradores y usuarios.

  • D04

    Separación por responsabilidades

    El proyecto organiza el código en módulos independientes para autenticación, CRUD, base de datos, modelos, rutas, schemas y utilidades.

Lo difícil

Retos y cómo se resolvieron

  • 01

    Control de acceso

    Uno de los principales retos consiste en garantizar que cada operación esté disponible únicamente para los usuarios que cuentan con los permisos necesarios.

  • 02

    Gestión de recursos

    La API debe mantener operaciones coherentes para diferentes recursos como usuarios, libros y categorías, incluyendo validaciones y respuestas HTTP apropiadas.

  • 03

    Autenticación segura

    El sistema incorpora autenticación mediante JWT y contempla respuestas diferenciadas para errores de autenticación, autorización, recursos inexistentes y validación.