# HieChat HieChat es una empresa de distribución White Label que cuenta con una solución de atención al cliente por WhatsApp que aumenta la productividad y organización del equipo. ## 🚀 Começando El repositorio de HieChat tiene 3 carpetas importantes: - backend - frontend - instalador El backend está hecho en Express y tiene toda la estructura organizada dentro de esta carpeta para poder ser aplicada en el entorno del cliente. La carpeta frontend contiene todo el marco React.js que administra toda la interacción del usuario con el sistema. La carpeta del instalador dentro de este repositorio es una copia del instalador utilizado para que los clientes del sistema puedan clonarlo dentro de la carpeta de inicio de sus servidores y continuar con la instalación automática de todas las dependencias del proyecto. Enlace al repositorio de instalación actualizado: - [Instalador](http://hiegit.hiesoft.net/esterlin/HIECHAT/instalador) Consulte **[Implantação](#-implanta%C3%A7%C3%A3o)** para saber como implantar el proyeto. ### 📋 Pré-requisitos ``` - Node.js v20.x - Postgres (release) - Npm ( latest ) - Docker (bionic stable) - Redis ``` ### 🔧 instalación Para iniciar la instalación del proyecto, debe tener todas las herramientas necesarias disponibles para su uso. #### Redis ``` - su - root - docker run --name redis-${instancia_add} -p ${redis_port}:6379 --restart always --detach redis redis-server --requirepass ${root_password} ``` #### Postgres ``` - sudo su - postgres - createdb ${instancia_add}; - psql - CREATE USER ${instancia_add} SUPERUSER INHERIT CREATEDB CREATEROLE; - ALTER USER ${instancia_add} PASSWORD '${root_password}'; ``` #### .env backend ``` NODE_ENV= BACKEND_URL=${backend_url} FRONTEND_URL=${frontend_url} PROXY_PORT=443 PORT=${backend_port} DB_DIALECT=postgres DB_HOST=localhost DB_PORT=5432 DB_USER=${instancia_add} DB_PASS=${mysql_root_password} DB_NAME=${instancia_add} JWT_SECRET=${jwt_secret} JWT_REFRESH_SECRET=${jwt_refresh_secret} REDIS_URI=redis://:${mysql_root_password}@127.0.0.1:${redis_port} REDIS_OPT_LIMITER_MAX=1 REGIS_OPT_LIMITER_DURATION=3000 USER_LIMIT=${max_user} CONNECTIONS_LIMIT=${max_whats} CLOSED_SEND_BY_ME=true GERENCIANET_SANDBOX=false GERENCIANET_CLIENT_ID=Client_Id_Gerencianet GERENCIANET_CLIENT_SECRET=Client_Secret_Gerencianet GERENCIANET_PIX_CERT=certificado-Gerencianet GERENCIANET_PIX_KEY=chave pix gerencianet # EMAIL MAIL_HOST="smtp.gmail.com" MAIL_USER="seu@gmail.com" MAIL_PASS="SuaSenha" MAIL_FROM="seu@gmail.com" MAIL_PORT="465" ``` #### .env frontend ``` REACT_APP_BACKEND_URL=${backend_url} REACT_APP_HOURS_CLOSE_TICKETS_AUTO = 24 ``` #### Instalando dependencias ``` cd backend/ npm install --force cd frontend/ npm install --force ``` ### Ejecutándose localmente ``` cd backend/ npm run watch npm start cd frontend/ npm start ``` ## ⚙️ Ejecutando las pruebas // ### 🔩 Analizar pruebas de extremo a extremo // ## 📦 Despliegue en producción Para una correcta implementación, es necesario actualizar el código fuente de la aplicación y recrear los archivos en la carpeta dist/. Atención: es necesario acceder utilizando el usuario de deploy ``` su - deploy ``` ``` cd /home/deploy/${empresa_atualizar} pm2 stop ${empresa_atualizar}-frontend git pull cd /home/deploy/${empresa_atualizar}/frontend npm install rm -rf build npm run build pm2 start ${empresa_atualizar}-frontend pm2 save ``` ``` cd /home/deploy/${empresa_atualizar} pm2 stop ${empresa_atualizar}-backend git pull cd /home/deploy/${empresa_atualizar}/backend npm install npm update -f npm install @types/fs-extra rm -rf dist npm run build npx sequelize db:migrate npx sequelize db:migrate npx sequelize db:seed pm2 start ${empresa_atualizar}-backend pm2 save ``` ## 🛠️ Construído com * [Express](https://expressjs.com/pt-br/) - O framework backend usado * [React](https://react.dev/) - Framework frontend usado * [NPM](https://www.npmjs.com/) - Gerenciador de dependências ## 🖇️ Colaborando // ## 📌 Versión Versión .0.0 ## 📄 Licencia Este projeto está bajo licencia ⌨️ com ❤️ por [HieChat](https://hiechat.net) 😊 Todos los derechos reservados a https://hiechat.net