Aplicacion RestFull
- Node.js Como entorno de tiempo de ejecución para ejecutar JavaScript.
- Express.js Marco de servidor/capa de controlador
- MongoDB Base de datos
- Mongoose "ODM"/capa de modelo
- Docker Servicio contenedor para aislar el entorno.
- Instalar las dependencias
npm install
- Crear en la raíz el archivo
.env
. Configurar las variables de entorno referenciadas enexample.env
- PORT: Puerto donde corre la aplicación
- MONGODB_CNN: Cadena de conexion a la base de datos
- SECRETORPRIVATEKEY: Valor semilla para generar las JWT Token, puede ser cualquier cadena.
node app.js
- Crear la imagen
docker build -t eirete-rest-api:1.0 .
- Ejecutar la aplicacion en el contenedor
docker run -p 8080:8080 --env-file ./.env eirete-rest-api:1.0
- Comprobar que el contenedor esté corriendo
$ docker ps
$ docker logs <container id>
-
Descargar el codigo desde el github
-
Instalar las dependencias
npm install
-
Configurar las variables de entorno en el archivo
/.env
-
Configurar variables de entorno
export MONGODB_CNN=
export SECRETORPRIVATEKEY=
export PORT=
-
Intall pm2
sudo npm install pm2 -g
-
Hacer el build
npm run build
-
Correr la aplicacion
pm2 --name eirete-back start npm -- start
-
Guardar la configuracion
pm2 save
-
Configurar el autoinicio
pm2 startup
En el navegador:
- Los
assets
contiene los archivos estaticos - Los
controllers
procesamiento de las logica de negocio y interacción con la base de datos - Los
database
configuración de la base de datos - Los
helpers
son funciones útiles de uso común para toda la aplicación . - Los
models
son las definiciones de estuctura de la base de datos Mongoose - Los
routes
rutas declaradas que usan el módulo express.Router - Los
uploads
son los archivos subidos a la aplicacion por medio del API correspóndiente app.js
archivo principal el que construye y corre la aplicación express.env.
donde se configura las variables de entorno, por seguridad no tiene seguimiento de versiones..example.env
ejemplo de como se configura las variables de entornoswagger-setup.js
archivo de configuracion del swagger
Imagen: assets/documentation/modelo-ER.jpg