Trata de un Backend server desarrollado con Express de node y Firebase Cloud. Nos permite realizar diferente consultas a nuestra base de datos en firebase, consultas como: 1.- Crear un nuevo usuario 2.- Consultar todos los usuarios existentes 3.- Consultar todas las clases existentes 4.- Consultar los datos de una clase especifica 5.- Crear una nueva clase 6.- Actualizar los datos de un usuario en especifico 7.- Loguear un usuario. 8.- Actualizar los datos de una clase especifica 9.- Borrar una clase especifica 10.- Consultar las clases a las que un usuario esta subscrito 11.- Subscribir un usuario a una clase
Ademas de ciertas validaciones logicas y que por temas de negocio se decidieron incluir.
Para iniciar con la instalación y ejecución del backend. debemos clonar el proyecto en el directorio de tu preferencia y donde no requieras permisos especiales para acceder.
Una teniendo los archivos que componen backend server en tu Pc. debemos verificar que contemos con ciertos pre-requisitos. Nota: acontinuacion te dare una serie de comandos deben ser utilizados en la terminal de tu sistema operativo.
1.- Node v10.15.3 o superior: Si no estas seguro sobre que version de node tienes instalada o si tienes instalado node en tu Pc debes ejecutar el siguiente comando
```
node -v
```
Esto de deberia arrojar la version de node, en caso de que no sea asi te dejo un link para su instalación.
https://nodejs.org/es/download/
2.- Manejador de paquetes npm v6.14: este manejador de paquete por lo general viene con instalado por defecto cuando instalamos node pero de igual forma se los coloco para que verifiquen su existencia.
```
npm -v
```
En caso de no tenerlo o querer actualizar su versión podrias probar el siguiente comando.
```
npm install -g npm@latest
```
3.- Instalar Firebase-tools, el cual nos servira para conectarnos con nuesta base de datos firebase. se debe ejecutar el siguiente comando en el terminal como administrador.
```
npm install -g firebase-tools
```
Para tener mas detalles de esto, recomiendo leer la información que nos subministra firebase en su web. Para verificar que la instalación se haya realizado de la manera correcta ejecutar el comando
```
firebase --version
```
Esto deberia arrojar alguna versión.
Una vez revisado y completada la lista de pre-requisitos podemos acceder a la instalación y ejecución del backend server en modo desarrollo.
Para esto es necesito que abrar la terminal de tu sistema operativo y navegues a la carpeta que contiene el proyecto. He ingrese a la carpeta /functions.
Una vez dentro de la carpeta principal debemos ejecutar desde la terminal el siguiente comando.
npm install
Esto instalará todas las dependencias o paquetes de node necesarios para levantar el backend server. Una vez finalizada esta instalación, estamos listo para levantar el backend serve en modo desarrollo. Para ello primero debemos compilar el codigo TypeScript a Javascript ingresando a la carpeta function desde nuestra consola de comandos y ejecutando el el comando
npm run build
Seguidamente levantar el backend server desde la raiz del proyecto haciendo uso del comando
firebase serve
Una vez ejecutado este comando y compilado el codigo puedes colocar en la barra de direcciones de tu navegador web preferido la url
http://localhost:5000/firestore-latech/us-central1/api/usuarios
Debemos tener una cuenta en firebase y una firebase cloud creada con 3 colecciones: usuario, clases y subscritos. Ademas debemos añadir a la carpeta src el archivo .json con las keys para conectarnos al proyecto, este deber ser renombrado como
```
serviceAccountKey.json
```