tmijail / ArCovidRos

API Server con información estadística sobre el coronavirus en Argentina

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AR COVID-19 ROS

API Server

El servidor de la API se encuentra dentro del directorio server.

Documentación

Wiki

Stack

  • Docker
  • docker-compose
  • MongoDB
  • Nodejs (express, mongoose, jwt)

Variables de entorno configuradas en docker-compose

  • JWTKEY: key para encriptar el token de JWT (requerida)
  • ADMINKEY: key necesaria para registrar nuevos usuarios (requerida)
  • JWTEXPIRE: TTL para el token de JWT (por defecto 1440 si no está configurada)

Se puede ver un ejemplo de estas variables de entorno en .env.example

Pasos para ejecutar el server en un ambiente local de desarrollo

El proyecto está configurado para un entorno de desarrollo. Para ejecutar en modo producción configurar MODE=production en el archivo .env del directorio server.

  • Clonar el proyecto.
  • Configurar las variables de entorno con un erchivo .env tanto en el root del proyecto (que son utilizadas por el docker-compose) como en la carpeta server (que son utilizadas por el node y el script de inicio). En ambas carpetas existe un .env.example que muestra las opciones disponibles.
  • El docker-compose.yml está configurado para crear un contenedor de mongo db. Los datos se almacenan en la carpeta mongo.
  • Ejecutar docker-compose up y va a instalar librerías y ejecutar el servidor de la API. El comando up va a iniciar los contenedores en el bash y mostrar los respectivos logs, si se desea correrlos en background el comando es docker-compose up -d
  • El node se ejecuta mediante nodemon por lo que va a recrear el server en vivo mientras se desarrolla.

API Client

  • Enlace para ver la documentación de la API:

https://editor.swagger.io/?url=https://raw.githubusercontent.com/Hackfun-Rosario/ArCovidRos/master/server/swagger.yaml

El cliente de la API se encuentra dentro del directorio client.

Scripts disponibles:

  • Para instalar las dependencias yarn
  • Para correr el cliente en modo dev yarn dev
  • Para generar el build de producción yarn build

Licenciamiento

El software de este repositorio se encuentra publicado con una licencia AGPL v3.0

About

API Server con información estadística sobre el coronavirus en Argentina

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 47.6%Language:JavaScript 36.7%Language:Python 6.7%Language:Ruby 5.0%Language:CSS 1.3%Language:Shell 1.2%Language:Dockerfile 0.9%Language:HTML 0.7%