Este projeto está sendo desenvolvido na FATEC Diadema como parte do curso Desenvolvimento de Software Multiplataforma (DSM)
- Abner Bispo Cerqueira
- Daniel de Azevedo Cordeiro
- Guilherme Ferreira Monteiro
- Marcus Antonio da Rocha Filho
- Matheus Nicolas Mariano
- Nikolas da Palma Cruz
API
- Linguagem: Java 21
- Framework: Spring Boot
- Autenticação: JWT
- Banco de dados: MongoDB
- Message Broker: RabbitMQ
Interface
- Linguagem: JavaScript
- Frameworks: React + TailwindCSS
- Componentes: shadcn/ui
Rodar o projeto na sua máquina para desenvolver
- Java 21
- MongoDB
- RabbitMQ
Rode no terminal para baixar o projeto
git clone https://github.com/imofatec/imo.git
cd imo
Acesse o diretório do backend
cd backend
Ative o perfil de desenvolvimento em
imo/backend/src/main/resources/application.properties
spring.profiles.default=prod
spring.profiles.active=dev
Crie um arquivo em imo/backend/src/main/resources chamado .env-dev.properties e adicine neles as variáveis de ambiente necessárias
Exemplo:
MONGO_URI=mongodb://localhost:27017/imo
CLIENT_URL=http://localhost:5173
RABBITMQ_ADDRESS=amqp://localhost:5672
EXCHANGE_NAME=imo.user
ROUTING_KEY_CONFIRMATION_EMAIL=imo.user.confirmation_email
ROUTING_KEY_FORGET_PASSWORD=imo.user.forget_password
Necessário para JWT
Opção 1
- Execute
./backend/gen-keys.sh
Opção 2
- Acesse o site: RSA KEY GENERATOR
- Selecione 2048 bits no Key Size
- Selecione PKCS #8 (base64) no Format Scheme e gere a public e private key
- Acesse o diretório
imo/backend/src/main/resources/ - Crie o arquivo app.pub coloque nele a chave PUBLICA
- Crie o arquivo app.key coloque nele a chave PRIVADA
Opção 1
./mvnw spring-boot:run
Opção 1 populando o banco
./mvnw spring-boot:run -Dspring-boot.run.arguments="--seed=true --users=100 --courses=15"
Opção 2
./mvnw clean install -DskipTests \
java -jar target/backend-0.0.1-SNAPSHOT.jar
Endpoints documentados e interface para testar a API
- Scalar UI http://localhost:8080/docs
- Swagger UI http://localhost:8080/swagger-ui/index.html
Crie um arquivo em imo/frontend chamado .env e adicione neles as variáveis de ambiente necessárias
Necessário para conexão com backend
Exemplo:
VITE_API_BASE_URL=http://localhost:8080
Inicie o projeto e acesse http://localhost:5173
cd frontend
npm install
npm run dev