Skip to content

Latest commit

 

History

History
109 lines (79 loc) · 3.83 KB

README.md

File metadata and controls

109 lines (79 loc) · 3.83 KB

grupo-Haliax-backend

Proyecto E2: Haliax

En esta entrega se desarrollará el backend del proyecto, para ello se dividió cada funcionalidad/implementación en bandas y asimismo en cada banda se hará una documentación o explicación detallada de lo que se logró desarrollar.

npm install code

Inicializar Proyecto

Vamos a trabajar el backend con el comando:

npm

Comandos utiles

Antes de comenzar, instala todos los paquetes:

npm install

Una vez creada la carpeta node_modules comienza el desarrollo.

Creacion de la base de datos con sus respectivas credenciales 📁📁

  1. Primero inicializamos los servicios de postgres:
sudo service postgresql start
  1. Luego creamos un superuser con el fin de acceder a postgress con username y password
sudo -u postgres createuser --superuser web_user
  1. Le colocaremos contraseña al usuario
sudo -i -u postgres
psql
ALTER USER web_user WITH PASSWORD 'haliax'
  1. Ahora creamos una base de datos para el desarrollo de nuestro proyecto, se mantendrán los nombres del .env
sudo -u postgres createdb web_db_development
  1. Se linkea el web_user con la base de datos y el hostname (si no se hace arroja error de auntentificación)
sudo -i -u postgres
psql -U web_user -d web_db_development -h 127.0.0.1
  1. Listo! Ahora se puede ejecutar el proyecto y seguir desarrollando

Creación de tablas en base de datos y poblarlas 🛒🛒

Para este apartado se correrán las migraciones creadas y luego se procederá a ejecutar las seeders.

  1. En primer lugar realizamos la migracion a la base de datos(creación de las tablas en la bdd), para ello utilizamos el siguiente comando:
npx sequelize-cli db:migrate
  1. Luego creamos los datos de las tablas con los seeders que creamos, para esto corremos el siguiente código:
npx sequelize-cli db:seed:all
  1. Listo! Se encuentran creadas y pobladas nuestras tablas.

Ejecución del backend

  1. En primer lugar para correr el servidor y que comience a escuchar eventos. Está configurado con nodemon por lo tanto se actualiza inmediatamente 😄
npm start
  1. Una vez que comiences a desarrollar y agregar features al proyecto procura mantener un código ordenado que siga airbnb , para ello descarga la extension de vscode que se llama eslint, el linter te avisa a tiempo real cualquier falla. La otra opción y la que encuentro más potente, ya que puede arreglar todo el codigo con un simple comando, es lo siguiente:

Te muestra todas las lineas que no se adhieren a airbnb en el proyecto

Para filtrar por archivos, reemplaza el . por el nombre del archivo

npx eslint .

Para fixear todo el proyecto (arregla muchos errores pero los que queden hay que revisarlos manualmente)

npx eslint . --fix

Bandas

Banda D

Implementacion del modelo en la base de datos, incluyendo todas las entidades y sus relaciones. ´ Se recomienda documentar el modelo en el README.

Banda C

Implementacion de lógica de juego, que puede contener algunos errores. Debe tener al menos un ´ GET funcional para obtener el estado de una partida/juego y un POST funcional para enviar una de las jugadas de la partida.

Banda B

Implementacion de la lógica de juego sin errores. Algunos de los ´ POST que el juego requiera para probar las jugadas que se implementaron pueden tener errores. Debe entregar documentación o un archivo ´ JSON de prueba. Esta parte será evaluada con postman, por lo que no deben tener aún la conexión back y front

Banda A

Uso de ESLint y Gitflow durante el desarrollo del proyecto. Ademas, no hay errores en los endpoints implementados

Banda A+ (Ójala)

Solo para esta entrega se asignara una nota de 7,5 en caso de que haya un avance en la vista del tablero de juego