**Requerimientos**

- Node.js > v10
- Editor con plugins para ESLint y EditorConfig

**Ejecutar el proyecto para desarrollo**

- Entrar a la ruta del proyecto desde la terminal
- Instalar dependencias con `npm run install`
- Crear el archivo `/src/config.json` asistido por otro miembro del equipo
- Correr proyecto con `npm run dev`
- Entrar a [http://localhost:4000/](http://localhost:4000/)

**Rutas públicas**

- Pruebas: [https://dev.app.medis365.com.mx/](https://dev.app.medis365.com.mx/)
- Producción: [https://app.medis365.com.mx/](https://app.medis365.com.mx/)
- Landing page: [https://medis365.com.mx/](https://medis365.com.mx/) (desarrollada por terceros)

**Estructura de archivos dentro de /src**

- `index.js`

    Es el archivo de entrada de la aplicación

- `/components`

    Contiene componentes que no manejan lógica de negocio y en general representan elementos muy específicos de la UI.

    En general están compuestos de componentes de la librería [MaterialUI](https://material-ui.com/) u otras cosas de la misma carpeta /components.

- `/main`

    Contiene componentes y funcionalidades relacionadas con la estructura principal de la aplicación como el layout, menús, rutas, manejo del estado global entre otras cosas.

- `/views`

    En general, cada carpeta dentro de aquí representa un módulo de la aplicación y contienen los componentes que forman sus vistas.

    Todos los módulos del expediente están dentro de /views/patients.

- `/helpers`

    Contiene funciones, constantes y react hooks que se reutilizan en múltiples partes del proyecto.

- `/open`

    Contiene los componentes que forman las subaplicaciones como la agenda online o Formas365.