https://github.com/l-marcel/netbooks
Uma plataforma similiar a Netflix, porém de assinatura de livros.
https://github.com/l-marcel/netbooks
no-orm raw-query react spring-boot
Last synced: 12 months ago
JSON representation
Uma plataforma similiar a Netflix, porém de assinatura de livros.
- Host: GitHub
- URL: https://github.com/l-marcel/netbooks
- Owner: L-Marcel
- Created: 2025-04-07T19:21:52.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-01T22:06:28.000Z (12 months ago)
- Last Synced: 2025-05-01T23:19:46.653Z (12 months ago)
- Topics: no-orm, raw-query, react, spring-boot
- Language: Java
- Homepage:
- Size: 64.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Aviso
Para manter o projeto por inteiro rodando, será necessário manter os três servidores rodando (banco de dados, _backend_ e _frontend_).
# Instruções para devs (geral)
Deixo como recomendação a utilização do [VSCode](https://code.visualstudio.com/) para todo o projeto. Também estarei utilizando o [pgAdmin4](https://www.pgadmin.org/download/) para visualizar e gerenciar o banco de dados ou o [MySQL Workbench](https://www.mysql.com/products/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_:
## 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).
### Exemplo
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.
### Justificativa
É chato manter esse padrão, mas assim conseguimos manter o histórico do código organizado, bem definido e separado.
## Branchs
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.
### Exemplo
Estou indo implementar a criação de canais. Logo criarei a _branch_ `criação-canais`.
# Instruções para devs (backend)
Certifique-se de ter o [Java](https://www.oracle.com/br/java/technologies/downloads/) (v21 - LTS) instalado. Além disso, é bom ter o [Maven](https://maven.apache.org/install.html) também.
Também certifique-se de ter o [Docker](https://docs.docker.com/desktop/setup/install/windows-install/). Pode ser meio complicado, deixo esse [manual](https://efficient-sloth-d85.notion.site/Instalando-Docker-e-Docker-Compose-7953729d22554795b50033c4c19eae70) como recomendação.
Para executar a aplicação `Java`, estou utilizando o pacote de extensões [Extension Pack for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack). 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:
```cmd
cd backend
docker-compose up -d
```
# Instruções para devs (frontend)
O gerenciador de pacotes utilizado no _frontend_ é o [pnpm](https://pnpm.io/pt/installation). Portanto, o instale. Talvez seja necessário instalar o [node](https://nodejs.org/pt) (v22.14.0 - LTS) antes também.
Um vez que tenha instalado tudo, execute os seguintes comandos dentro da raíz do projeto clonado:
```cmd
cd frontend
pnpm install
```
Para executar, uma vez dentro da pasta `frontend`, basta:
```cmd
pnpm dev
```