Backend de una aplicación Express con motor de vistas EJS. El flujo de trabajo incluye colocar primero tus archivos HTML, CSS y JS en src/views, luego ejecutar tres scripts de migración/arreglo de rutas en orden, y finalmente levantar el servidor como en cualquier proyecto Node.
- Node.js 18+ (ES Modules habilitado por
"type": "module") - npm 9+
- MongoDB en local (por defecto
mongodb://localhost:27017/EmprendeSanJose)
- Clona el repositorio y entra al directorio del proyecto.
- Instala dependencias:
npm install- Crea un archivo
.env(opcional pero recomendado):
# Puerto del servidor (por defecto 3000)
PORT=3000
# Secreto de sesión (cámbialo en producción)
SESSION_SECRET=your-secret-here
# Entorno
NODE_ENV=development
# Mongo db uri
MONGO_URI=mongodb://localhost:27017/EmprendeSanJose- Asegúrate de tener MongoDB levantado en tu máquina (o ajusta la conexión en
src/db.js).
El proyecto incluye tres scripts para automatizar la conversión y normalización de rutas. Ejecútalos desde la raíz del proyecto en este orden:
-
Coloca tus archivos en
src/views/manteniendo tu estructura (por ejemplo:src/views/index.html,src/views/css/*,src/views/js/*,src/views/imgs/*). -
Convierte los
.htmla.ejsmanteniendo referencias y estructura:
node scripts/automation_paths_to_ejs.js- Normaliza rutas a assets (CSS, JS, imgs) dentro de archivos
.htmly.ejs:
node scripts/change_directories_in_css_and_js.js- Limpia rutas de links y includes eliminando prefijos y extensiones
.html:
node scripts/change_link_directories_html.jsAntes de ejecutar los scripts, se recomienda respaldar tus vistas. Los scripts modifican archivos dentro de src/views de forma recursiva.
npm run devLuego visita: http://localhost:3000
npm run dev: inicia el servidor connodemonapuntando asrc/app.js.
src/
app.js # Arranque del servidor, middlewares y registro de rutas
config/
server.js # Configuración de Express, vistas EJS y estáticos
session.js # Configuración de sesión
routes/ # Rutas: auth, rol, transport, entrepreneurship, announcement, report
views/ # Vistas EJS + assets (css, js, imgs)
db.js # Conexión a MongoDB (local por defecto)
scripts/
automation_paths_to_ejs.js
change_directories_in_css_and_js.js
change_link_directories_html.js
/auth/rol/transport/entrepreneurship/announcement/report
Los detalles de cada endpoint se encuentran en los archivos dentro de src/routes/.
El servidor sirve estáticos desde src/views en estas rutas públicas:
/css→src/views/css/js→src/views/js/imgs→src/views/imgs
- Si cambias la estructura de
src/views, vuelve a ejecutar los scripts de normalización en el mismo orden. - Asegúrate de que MongoDB esté corriendo localmente o ajusta la cadena de conexión en
src/db.js. - Define
SESSION_SECRETen producción y usaNODE_ENV=productionpara cookies seguras.
ISC