Para manter o projeto por inteiro rodando, será necessário manter os três servidores rodando (banco de dados, backend e frontend).
Deixo como recomendação a utilização do VSCode para todo o projeto. Também estarei utilizando o pgAdmin4 para visualizar e gerenciar o banco de dados ou o MySQL Workbench, já que foi a recomendação do professor.
Recomendo deixar todas as queries dentro da pasta queries
do projeto, assim todos nós conseguiremos utilizar.
Fique atento ao momento de gerar os commits, faça isso com frequência. Atenção, segue abaixo as tags padrões de nomeação de commits:
[feat]
-> Implementação parcial ou completa de uma determinada funcionalidade;[merge]
-> União de duas branchs;[fix]
-> Correção de um erro antigo;[docs]
-> Alterações envolvendo documentação ou comentários;[style]
-> Formatação de código;[refactor]
-> Refatoração de código, melhorias que não alteram a funcionalidade;[test]
-> Testes de qualquer tipo;[init]
-> Código inicial do projeto, normalmente gerado por alguma ferramenta;[chore]
-> Vamos definir aqui como tudo que não se encaixar nas definições anteriores.
Meu conselho é inverter a lógica. Geralmente, pensamos no nome na hora de realizar o commit (eu faço assim). Agora, vamos pensar no nome antes (não por completo, apenas a tag).
Estou entrando para começar a implementação de uma nova funcionalidade, que envolve criar uma sala.
O commit: [feat] Iniciando implementação de criação de salas
.
O nome já sugere que não terminei. Vamos supor que seja porque eu encontrei um bug no caminho. Então agora tenho que resolver esse bug.
O commit: [fix] Corrigindo erro de salas duplicadas
.
Agora estou indo terminar a funcionalidade.
O commit: [feat] Implementando criação de salas
.
Agora todos sabemos que a funcionalidade foi implementada.
É chato manter esse padrão, mas assim conseguimos manter o histórico do código organizado, bem definido e separado.
Crie uma branch sempre que for inicializar uma nova funcionalidade. O nome dela tem que ser sugestivo, de modo que possamos identificar a funcionalidade. Assim que terminar, abra um Pull Request
para a branch main e aguarde avaliação.
Estou indo implementar a criação de canais. Logo criarei a branch criação-canais
.
Certifique-se de ter o Java (v21 - LTS) instalado. Além disso, é bom ter o Maven também.
Também certifique-se de ter o Docker. Pode ser meio complicado, deixo esse manual como recomendação.
Para executar a aplicação Java
, estou utilizando o pacote de extensões Extension Pack for Java. Com ela, basta abrir o arquivo backend/src/main/java/app/netbooks/backend/BackendApplication.java
e você verá um botão de play no canto superior esquerdo.
Para inicializar o banco de dados Postgres
através do Docker
, execute:
cd backend
docker-compose up -d
O gerenciador de pacotes utilizado no frontend é o pnpm. Portanto, o instale. Talvez seja necessário instalar o node (v22.14.0 - LTS) antes também.
Um vez que tenha instalado tudo, execute os seguintes comandos dentro da raíz do projeto clonado:
cd frontend
pnpm install
Para executar, uma vez dentro da pasta frontend
, basta:
pnpm dev