BorrowGames es una plataforma web innovadora que permite a los amantes de los juegos de mesa tomar prestados sus juegos favoritos de forma fácil y conveniente. Nuestro servicio permite a los usuarios registrados seleccionar hasta 3 juegos a la vez por un período de una semana, fomentando así la diversión y el intercambio en la comunidad de jugadores.
- Registro y Autenticación de Usuarios: Sistema seguro de login para gestionar las cuentas de los usuarios.
- Catálogo de Juegos: Amplia selección de juegos de mesa disponibles para préstamo.
- Sistema de Reservas: Los usuarios pueden reservar hasta 3 juegos simultáneamente.
- Gestión de Préstamos: Control automatizado de la duración del préstamo (1 semana).
- Búsqueda y Filtrado: Funcionalidades para encontrar fácilmente los juegos deseados.
- Panel de Usuario: Donde los usuarios pueden ver sus préstamos actuales y el historial.
- React
- React Router 6
- Material-UI 5
- Vite (herramienta de construcción)
- SASS
- React Icons
- Normalize.css
- Node.js
- Express
- PostgreSQL
- bcryptjs
- JSON Web Token
- Passport
- Swagger
- dotenv
- CORS
- express-validator
- ESLint
- Nodemon
- Concurrently
- JSDoc
- Morgan
✅ Bases de datos y app.
✅ Se implementó un menú hamburguesa.
✅ Se trabajó con diferentes vistas en React.
✅ Se utilizó adecuadamente el modelo Vista-Controlador.
✅ Se implementó el uso de JSDOC para la la documentación.
✅ Se consiguió una vista mobile First.
✅ Se logró un trabajo ordenado gracias a la puesta en marcha de una metodología ágil (Scrum, Trello).
✅ Se gestionó de manera correcta el uso de ramas en GitHub.
-
Clona el repositorio: (https://github.com/steph-d989/ProyectoPersonal.git)
-
Instala las dependencias del backend: npm i
-
Instala las dependencias del frontend: cd client npm i
-
Configura las variables de entorno:
- Crea un archivo
.enven la carpeta backend. - Añade las variables necesarias (DB_URL, SECRET_KEY, etc.)
-
Inicia el servidor backend: npm run dev
-
Inicia la aplicación frontend: npm run dev
- Registra una cuenta o inicia sesión.
- Navega por el catálogo de juegos.
- Selecciona hasta 3 juegos para reservar.
- Confirma tu reserva.
- Devuelve los juegos dentro del plazo de una semana.
POST /api/juegos: Crear un nuevo juegoDELETE /api/juegos/:nombre: Eliminar un juego por nombreGET /api/juegos: Obtener todos los juegos o buscar por nombrePUT /api/juegos: Editar la disponibilidad de un juegoGET /api/juegos/paginacion: Obtener juegos con paginaciónPOST /api/reservas/crear: Crear una nueva reservaDELETE /api/reservas/borrar: Eliminar una reservaGET /api/reservas/:email: Obtener reservas de un usuario
- Swagger UI: Accesible en
/api-docscuando el servidor está en ejecución. - JSDoc: Documentación del código generada en la carpeta
/api-jsdocs.
Las contribuciones son bienvenidas. Por favor, abre un issue para discutir los cambios propuestos antes de hacer un pull request.
Stephani Damiani - (https://github.com/steph-d989)
















