Parking Project es una aplicación web full-stack para la gestión y cobro de tarifas de parqueadero.
El backend está desarrollado en Node.js; el frontend en Angular 20.
El proyecto incluye los artefactos del modelo de base de datos (diagrama entidad-relación), lo que permite levantar una base de datos relacional para soportar la lógica de negocios.
Este README actúa como guía principal para entender la arquitectura global, levantar la aplicación en local, y usar/contribuir al proyecto.
/
├── parking-backend/ # Código del backend (API REST, lógica de negocios, DB)
├── parking-frontend/ # Código del frontend (Angular)
├── Modelo BD.mwb # Modelo de base de datos (MySQL Workbench)
├── Modelo ER.png # Diagrama ER de la base de datos
├── TESTING.md # Guía completa de testing con TestSprite
└── README.md # Este archivo (documentación general del proyecto)- Backend: Node.js, Express, MySQL (mysql2)
- Frontend: Angular 20, TypeScript, Angular Material
- Base de datos: MySQL 8.0+
- Testing: TestSprite (AI-powered), Jest, Karma/Jasmine
Asegúrate de tener instalados Node.js, npm (o yarn), y un servidor de base de datos compatible (MySQL u otro).
cd parking-backend/
npm install # Instala dependencias
# Configura variables de entorno necesarias (conexión a BD, credenciales, puerto, secret JWT, etc.)
npm start # (o el script que uses para arrancar el servidor)Crear la base de datos usando el diagrama Modelo BD.mwb, o ejecutar los scripts/migraciones si los tienes.
El backend debería quedar disponible en la URL que hayas configurado (por ejemplo http://localhost:3000).
cd parking-frontend/
npm install # Instala dependencias del frontend
# Si usas Angular CLI: ng serve (o el script equivalente)Asegúrate de que la configuración del frontend (URL de la API, puertos) coincide con la del backend.
Abre tu navegador en http://localhost:4200 (o el puerto configurado) para usar la app.
El proyecto incluye testing automatizado con TestSprite, un framework de testing impulsado por IA.
# Ver la guía completa de testing
cat TESTING.md
# Ejecutar tests del backend
cd parking-backend
npm run test:testsprite:api
# Ejecutar tests del frontend
cd parking-frontend
npm run test:testsprite:e2e📖 Para más detalles sobre testing, consulta TESTING.md
🚀 Guía rápida en español: COMO-EJECUTAR-PRUEBAS.md
- Registrar vehículos que ingresan y salen del parqueadero.
- Calcular tarifas según tiempo de estancia y plazas / tarifas configuradas.
- Registrar plazas, configuración de tarifas, administrar parqueadero.
- Autenticación / roles de usuario — backend incluye control de acceso.
- Registrar historial de ingresos / egresos, generar reportes.
Si ya tienes un diseño de base de datos, puedes explorar la estructura de tablas para entender entidades como Vehículo, Parqueadero, Reserva/Estancia, Tarifa, Usuario, etc.
Si deseas contribuir o mejorar el proyecto:
- Haz un fork del repo.
- Crea una rama nueva: git checkout -b feature/mi-feature
- Haz tus cambios y asegúrate de que funciona todo.
- Envía un pull request con tus cambios y una descripción clara de lo que agregaste/modificaste.
Si lo deseas puedes agregar:
- Scripts útiles (por ejemplo: para levantar DB, seed de datos, lint, test, build)
- Documentación adicional: endpoints de la API, ejemplos de uso, screenshots del frontend, etc.
- Badges (por versión de Node, Angular, estado de build, etc).
Proyecto en desarrollo / versión inicial.
Puede estar incompleto o carecer de ciertas funcionalidades. Úsalo como base o referencia, o para aprender.