/crm-next

CRM hecho con Next, GraphQL, Apollo Server / Client y MongoDB

Primary LanguageTypeScript

⭐ CRM

Para poder ejecutar la aplicación en tu propio entorno de desarrollo, debes de seguir los siguientes pasos:

⚙️ Configurar contenedor y volúmenes de Docker

Para correr localmente el servidor, se necesita la base de datos corriendo, para ello debes de ejecutar el docker compose:

docker-compose up -d

🛠️ Establecer las variables de entorno

Renombrar el archivo .env.template a .env

  • Mongo DB:
MONGO_URL=mongodb://localhost:27017/crmdb

🛠️ Reconstruir los módulos de Node y Levantar la Aplicación

Para reconstruir los módulos de Node unicamente instalamos las dependencias, para esto ejecutamos el siguiente comando:

pnpm install

Una vez reconstruidos los módulos de Node, levantamos el entorno de ejecución en modo desarrollo de la aplicación con:

pnpm dev

🐳 Correr la aplicación en contenedor de Docker

Para poder correr la aplicación en un contenedor de Docker, necesitamos generar la imagen de Docker con el siguiente comando. Para esto debemos de tener en cuenta que debemos usar pnpm, si no es asi, debemos de actualizar el Dockerfile para que acepte otro package manager como npm o yarn:

docker build -t crm-next .

Después necesitamos correr la imagen generada en un contenedor, para esto usamos el siguiente comando:

docker run --name=crm-next-app -p 3000:3000 crm-next

Si se desea correr la aplicación de este contenedor en el puerto 80, necesitamos especificarlo en el puerto:

docker run --name=crm-next-app -p 80:3000 crm-next

💜 Acceder al proyecto ejecutándose

Para acceder al proyecto web una vez que esta corriendo, accedemos al enlace: localhost:3000/

Si usamos el puerto 80: localhost:80/

Para acceder al query sandbox de apollo server, accedemos al enlace: localhost:3000/api/graphql

🌻 Llamar al Seed Data

Para poder llenar la base de datos con los datos preparados por defecto unicamente se debe de llamar a la siguiente mutación de GraphQL para hacerlo, esto se puede hacer desde el Query Sandbox que se ejecuta en el link localhost:3000/api/graphql, o desde postman al mismo enlace:

mutation SeedData {
  seedData {
    message
    wasSuccessful
  }
}