Sistema de Notificaciones UCP - Una aplicación web full-stack para gestionar notificaciones de mesas de examen y enviar invitaciones a profesores.
- Backend API REST con Express.js
- Frontend con Vue.js 3
- Sistema de autenticación
- Notificaciones por email
- Notificaciones push al escritorio
- Gestión de mesas de examen
- Gestión de invitaciones
- Tests automatizados con Jest
- PWA (Progressive Web App)
- Node.js (versión 14 o superior)
- npm (incluido con Node.js)
- Git
- Un cliente SMTP para el envío de emails (configurable en .env)
- Clonar el repositorio:
git clone https://github.com/Joaco981/Express.js-API-and-Postman-Tests.git
cd Express.js-API-and-Postman-Tests- Instalar dependencias del backend:
npm install- Instalar dependencias del frontend:
cd frontend
npm install
cd ..- Configurar variables de entorno:
- Crear un archivo
.enven la raíz del proyecto - Agregar las siguientes variables (ajustar según tu configuración):
- Crear un archivo
SMTP_HOST=tu_servidor_smtp
SMTP_PORT=587
SMTP_USER=tu_email
SMTP_PASS=tu_contraseña- Iniciar el servidor de desarrollo:
node backend/app.jsEl servidor se iniciará en http://localhost:3000
- En una nueva terminal, desde la carpeta
frontend:
npm run devLa aplicación frontend estará disponible en http://localhost:5173
Para ejecutar los tests:
npm testPara ver la cobertura de tests:
npm run coverageEl sistema incluye usuarios predefinidos para pruebas:
- Usuario: Jose, Contraseña: 1234
- Usuario: Gilda, Contraseña: abcd
- Usuario: Carlos, Contraseña: 1111
- Usuario: Figue, Contraseña: 2222
├── backend/
│ ├── app.js # Punto de entrada del servidor
│ ├── data/ # Datos estáticos
│ ├── models/ # Modelos de datos
│ ├── service/ # Servicios (email, notificaciones)
│ └── test/ # Tests del backend
├── frontend/
│ ├── src/ # Código fuente Vue.js
│ ├── public/ # Archivos estáticos
│ └── package.json # Dependencias del frontend
└── package.json # Dependencias del backend
GET /- Página de bienvenidaPOST /api/auth/login- Autenticación de usuariosGET /api/mesas- Obtener todas las mesasGET /api/invitaciones- Obtener todas las invitaciones
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está bajo la Licencia ISC.
Si encuentras algún problema o tienes alguna sugerencia, por favor abre un issue en el repositorio.