Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update readme with run instructions #124

Merged
merged 1 commit into from
May 19, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 90 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,13 @@ docker exec -i POSTGRES_CONTAINER_ID psql -U root -d DATABASE_NAME -f /tmp/backu
Para desenvolvedores de frontend que não precisam executar localmente a API e o banco, siga estes passos:

1. Clone o arquivo `.env` de exemplo:

```bash
cp .env.local .env
```

2. Use o seguinte comando para criar e iniciar o banco via Docker:

```bash
docker-compose -f docker-compose.dev.yml up
```
Expand All @@ -53,22 +55,101 @@ ports:

## 🚀 Configuração Inicial Local

1. Clone o repositório:
1. Faça um fork do repositório para o seu usuário (uma boa ideia é usar um nome mais descritivo do que `backend`, como `sos-rs-backend`).
2. Clone o repositório (troque `<seuusuario>` na url abaixo pelo seu usuário):

```bash
git clone https://github.com/seuusuario/projeto-enchentes-backend.git
git clone https://github.com/<seuusuario>/sos-rs-backend.git
```
2. Instale as dependências:

3. Faça uma cópia do arquivo `.env`, e altere `DB_HOST=sos-rs-db` para `DB_HOST=localhost`:

```bash
npm install
npx prisma generate
npx prisma migrate dev
npm run start:dev
sed 's/sos-rs-db/localhost/g' .env.local > .env
# ou copie o arquivo e altere no seu editor preferido
```

4. Inicie o banco de dados com o Docker (adicione `-d` para rodar em background):

```bash
docker compose -f docker-compose.dev.yml up db
# ou em background:
docker compose -f docker-compose.dev.yml up db -d
# para ver os logs:
docker logs sos-rs-db
```

5. Instale as dependências:

```bash
npm install
npx prisma generate
npx prisma migrate dev
```
3. Inicie o servidor:

6. Inicie o servidor:

```bash
npm start
# ou com watch:
npm run start:dev
```

A API estará disponível em <http://localhost:4000>. Você poderá acessar o Swagger em <http://localhost:4000/api>.

7. Rode os testes:

```bash
npm test
# ou com watch:
npm run test:watch
```
A API estará disponível em `http://localhost:4000`.

### Contribuindo

1. Faça suas alterações;
2. Rode os testes com `npm test`;
3. Rode o lint com `npm run lint`;
4. Crie um branch com o git `git checkout -b nomedobranch`;
5. Faça um commit com `git commit`;
6. Faça um push para o seu repositório com `git push`;
7. [Sincronize seu repositório](#sincronizando);
8. Abra um pull request.
Comment on lines +108 to +117
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Será que já não vale criar um CONTRIBUTING.md com as instruções e também com as definições de boas práticas?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vale. Um passo de cada vez. :)


## Sincronizando

Você vai precisar, de tempos em tempos, sincronizar a branch `develop` do
seu repositório. Você pode usar o botão `Sync fork` do Github
(veja [os docs](https://docs.github.com/pt/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork)).
Ou você pode fazer manualmente, o que te permite fazer a sincronização sem depender do Github:

1. Antes de mais nada, se estiver no meio de uma contribuição, verifique que já commitou
tudo que tinha pra commitar, e então faça checkout do branch `develop`:

```bash
git checkout develop
```

2. Adicione o repositório oficial como remoto com nome `upstream` (só necessário na primeira vez):

```bash
git remote add upstream https://github.com/SOS-RS/backend.git
```

3. Faça pull do branch `develop`:

```bash
git pull upstream develop
```

4. Se estiver no meio de uma contribuição, faça um rebase no branch `develop`
(substitua `<seubranch>` pelo nome do seu branch):

```bash
git checkout <seubranch>
git rebase develop
```


## 📡 API Endpoints

Expand Down