Este proyecto es el backend de una aplicación capaz de gestionar torneos de pádel con liga en modo Ranking de Pádel. Esta aplicación es capaz de gestionar el registro e inicio de sesión de usuarios. Con ella los usuarios también podrán crear e inscribirse a torneos, subir los resultados de un partido, confirmar los resultados de un partido, comunicarse con otros jugadores, etc. Las peticiones al backend se realizan a través de la API aqui detallada.
Para instalar y ejecutar correctamente será necesario:
-
Tener instalado Git.
-
Tener instalado Node.js 11.8.x o superior.
-
Clonar el repositorio con el comando
git clone https://github.com/Achito/padel.git
-
Tener instalado MySQL 8.0.x.
-
Ejecutar
npm install
en el nuevo directorio clonado para instalar las dependencias necesarias para que funcione el servidor. -
Crear una base de datos desde la consola de MySQL. Luego habrá que insertar el nombre de la base de datos en el punto 10.
-
Estar registrado en la plataforma SendGrid, la cual gestiona el envío de emails.
-
Obtener una clave para usar la API de SendGrid.
-
Abrir el archivo 'config/config.json' y modificar:
- Los valores para comunicarse con la base de datos. Usuario, contraseña, nombre de la base de datos y dirección. El valor de
dialect
no se debe modificar. - La cadena de texto secreta para encriptar el JSON Web Token. Este secreto debe ser el mismo en el frontend que se conecte a la aplicación a través de la API.
- La clave de la API de SendGrid para que la aplicación pueda enviar emails.
- Los valores para comunicarse con la base de datos. Usuario, contraseña, nombre de la base de datos y dirección. El valor de
-
Desde la consola, dentro del directorio principal del servidor ejecutar
sequelize db:migrate
para crear las tablas en la base de datos. Si al ejecutar sale el siguiente errorMySQL Error: : 'Access denied for user 'root'@'localhost'
ejecutar en un terminal los siguientes comandos.sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tucontraseña';