Skip to content

JonaRhood/ICPF-API

Repository files navigation

  ICPF - Librería Baluarte de La Verdad

REST API Backend (Full-Stack PENV App)

Este es el Backend de la Full-Stack PENV App creada para la Iglesia Caminando por Fe. Este es el enlace del frontend: https://github.com/JonaRhood/ICPF.

El Backend ha sido desarrollado como una REST API utilizando PostgreSQL, Express y Node.js. El backend ha sido desplegado en Railway, mientras que la base de datos se aloja en Supabase, acelerando mi aprendizaje sobre la integración entre diferentes proveedores de servicios.

📋 Tabla de Contenidos

  1. Resumen del Proyecto
  2. Características
  3. Tecnologías Utilizadas
  4. Contacto

Este backend proporciona una API REST robusta, segura y escalable para la gestión eficiente de la Librería Baluarte de la Fe de ICPF. La arquitectura está diseñada para garantizar la integridad y seguridad de los datos mediante encriptación de contraseñas con bcrypt, autenticación basada en sesiones con express-session, y validaciones estrictas con express-validator. Además, se ha optimizado el almacenamiento y rendimiento utilizando PostgreSQL alojado en Supabase, asegurando una experiencia ágil y confiable.

  • 🔐 Autenticación Segura
    Implementación de Passport.js con estrategias locales para gestionar el inicio de sesión de usuarios de manera segura, reforzado con encriptación avanzada.

  • 🔑 Gestión de Sesiones
    Uso de express-session con almacenamiento en Supabase, permitiendo persistencia de sesiones de usuario de forma eficiente y segura.

  • 🖼️ Carga y Procesamiento de Imágenes
    Integración de Sharp y Busboy para la carga, conversión y compresión de imágenes en formato .webp, optimizando el uso del almacenamiento en Supabase y asegurando una alta calidad con menor tamaño de archivo.

  • 🛡️ Validaciones y Seguridad
    Protección del servidor con helmet y CORS, garantizando un entorno seguro ante ataques como XSS, CSRF y inyección de código. Validaciones en los endpoints con express-validator para evitar datos inconsistentes.

  • 📚 Documentación de la API
    Documentación interactiva con Swagger UI, facilitando la comprensión e integración de la API por parte de desarrolladores y clientes.

  • 📊 Monitoreo y Registro de Peticiones
    Implementación de Morgan como middleware para registrar solicitudes HTTP, permitiendo un seguimiento detallado del tráfico y posibles errores en el servidor.

  • 💻 Software Cliente para Gestión Integral
    Se ha desarrollado un software cliente diseñado específicamente para los encargados de la librería, permitiéndoles gestionar la librería de manera eficiente y en tiempo real. La aplicación permite registrar y modificar libros y autores, gestionar el proceso de venta de libros, y visualizar estadísticas detalladas sobre ventas y productos. Al estar completamente integrado con el backend, garantiza que toda la información se almacene y actualice en línea, facilitando la administración y asegurando la disponibilidad de datos en cualquier momento y desde cualquier dispositivo.

  • 📊 Modelo de Datos Estructurado: Se ha diseñado un Diagrama de Relaciones de Entidad (ERD) que define la estructura de la base de datos en PostgreSQL, asegurando integridad referencial, eficiencia en las consultas y escalabilidad. Este modelo permite gestionar relaciones clave como libros, autores, ventas y usuarios de manera optimizada.

(volver arriba)

NODEJS EXPRESS Postgres Supabase Railway Passport Swagger DOTENV ESLINT NODEMON

(volver arriba)

LinkedIn
Jonathan Cano - jonathancanofreta@gmail.com

(volver arriba)

About

Este es el Backend de la Full-Stack PENV App creada para la Iglesia Caminando por Fe.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors