pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/rubiwan/buscasofa-server

ymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-a33d805aa3bce2cb.css" /> GitHub - rubiwan/buscasofa-server: Actividad ISA · GitHub
Skip to content

rubiwan/buscasofa-server

 
 

Repository files navigation

⛽️ Buscasofa Backend API

Este proyecto es el backend de Buscasofa, una aplicación que permite a los usuarios registrarse, iniciar sesión y dejar comentarios sobre estaciones de servicio. Está desarrollado con Node.js, Express, SQLite y cuenta con autenticación mediante JWT.


Características

  • Registro y login de usuarios
  • Comentarios por estación
  • Comentarios jerárquicos (respuestas)
  • Autenticación con JSON Web Tokens (JWT)
  • Base de datos persistente con SQLite
  • Backend modular con controladores y lógica separada
  • Tests unitarios y de integración con Jest

Estructura del proyecto

buscasofa-server/
├── controllers/           # Controladores Express
├── services/              # Lógica de negocio desacoplada
├── tests/                 # Pruebas unitarias Jest
├── persistence/db.js      # Inicialización y conexión DB
├── index_dev.js           # Entrada principal del servidor
├── secret.js              # Clave secreta para JWT
└── README.md              # Este archivo 😄

Instalación

  1. Clonar el repositorio:
git clone https://github.com/eQuechen/buscasofa-server.git
  1. Abrir el proyecto:
cd buscasofa-server
  1. Instalar las dependencias:
npm install
  1. Ejecutar el servidor:
npm run dev

Ejecutar tests

npm test

El proyecto cuenta con pruebas unitarias usando la técnica TDD (Red → Green → Refactor).


Endpoints disponibles

Método Ruta Descripción
POST /api/register Registrar nuevo usuario
POST /api/login Iniciar sesión
POST /api/comments Guardar un comentario (requiere token)
GET /api/comments/:station Obtener comentarios de una estación
PUT /api/comments/:id Editar comentario
DELETE /api/comments/:id Eliminar comentario
GET /api/profile/user Obtener comentarios del usuario actual

Tecnologías utilizadas

  • Node.js + Express
  • SQLite3
  • JWT para autenticación
  • bcryptjs para hash de contraseñas
  • CORS
  • Jest + Supertest (pruebas unitarias)

Autores y créditos

👨‍💻 Anabel Díaz y Emilio Quechen 🐢️

Desarrollado con cariño por estudiantes de ISA - Ingenierá del Software Avanzado.
Incluye prácticas reales de diseño de software, modularización y pruebas automatizadas.


Próximos pasos

  • Integración continua (CI/CD)
  • Migración a base de datos PostgreSQL
  • Gestión de roles y permisos
  • Versión en producción con Docker y Railway

About

Actividad ISA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy