Sistema de e-learning usando Express
Estas instrucciones le proporcionarán una copia del proyecto en funcionamiento en su máquina local para fines de desarrollo y prueba. Consulte la implementación para obtener notas sobre cómo implementar el proyecto en un sistema en vivo.
Para usar el presente proyecto es necesario tener instalado:
- Node y Npm
- Docker
- Docker-Compose
- Sequelize-CLI (Globalmente)
Para instalar las librerias propias del proyecto ejecute:
npm i
Para iniciar el proyecto es necesario tener una instancia de Postgres. Para ello ingrese su configuracion en un archivo config.json con un formato similar al archivo src/db/config/config.example.json e ingrese las mismas en el archivo docker-compose.yml.
Ejecute el archivo docker-compose.yml con:
docker-compose up -dCree la base de datos con el comando:
sequelize db:create --env="value"Agregue modelos con el comando:
sequelize model:generate --name User --attributes firstName:string,lastName:stringvalue puede tomar los valores: development, test, production
Ejecute la migracion con:
sequelize db:migrate --env="value"Ejecutar los seeders:
sequelize db:seed:all --env="value"Inicie el servidor con el comando:
nodemonCambie el valor de host en el archivo config.json de Postgres por postgres-cont, y ejecute los servicios con:
docker-compose up -dCree una nueva red para los 3 contenedores:
docker network create net-node Conecte los servicios a la red:
# Postgres
docker network connect net-node postgres-cont
# Adminer
docker network connect net-node adminer-cont Crear imagen de la aplicacion de node
docker build . -t app:latest Ejecute el contenedor de node:
# app es el nombre de la imagen
docker run -it --name node-app -p 5000:5000 app bashEn otra terminal conecte el contenedor de node a la red:
docker network connect net-node node-appAhora en la terminal de contenedor ejecute los comandos de sequelize:
# Create db
sequelize db:create --env=development
# Exec migrations on db
sequelize db:migrate --env=development
# Exec seeders on db
sequelize db:seed:all --env=developmentEjecute el servidor:
node server.jsPara ver la documentacion ingrese a la ruta: http://localhost:5000/api/docs
Para ejecutar los tests es necesario ejecutar los comandos de sequelize con la bandera --env=test
Ejecute los tests con:
npm run testPlease read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Esteban Alvarez - Initial work - @alvarez98
- A template to make good README.md - Base template - PurpleBooth
This project is licensed under the MIT License - see the LICENSE file for details
Made with ❤️ by Esteban Alvarez