Um sistema simples de chat em tempo real.
- Gerenciador de projetos: Maven
- Frameworks de backend: SNF4J and Spring Boot
- Linguagem de backend: Java
- Biblioteca de frontend: React
- Linguagem de frontend: JavaScript
- Banco de dados: PostgresSQL
- Docker: Instalação
- SDK Man: Instalação
- Java 21:
sdk install java 21-zulu
- Maven:
sdk install maven
- NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
- Node:
nvm install node
- Yarn:
npm install --global yarn
Requisitos:
- Docker
- Navegue até a pasta database com
cd database
- Execute o comando
docker-compose up -d db
- Na raíz do repositório, execute o comando
mvn clean install
- Gere o pacote do gateway com
mvn -pl :gateway clean compile assembly:single
- Gere o pacote do servidor de apĺicação com
mvn -pl :application clean compile assembly:single
- Navegue até a pasta gateway com
cd gateway/target
- Execute o comando
java -jar gateway-1.0-jar-with-dependencies.jar
- Navegue até a pasta application com
cd application/target
- Execute o comando
java -jar application-1.0-jar-with-dependencies.jar
para cada instância desejada
- Navegue até a pasta frontend com
cd frontend
- Execute o comando
yarn install
- Execute o comando
yarn start
OBS: Execute sempre na ordem:
- Banco de dados
- Servidor de Gateway
- Servidores de Aplicação
- Frontend
API Gateway no Frontend: frontend/src/pages/login/ClientService.js
Gateway no Backend: common/src/main/resources/config/network.properties
Banco de dados no Backend: common/src/main/resources/config/application.properties