Skip to content

SharebookBR/sharebook-backend

Repository files navigation

PRIMEIROS PASSOS DEVELOPER BACKEND

1 - CONHEÇA O PROJETO SHAREBOOK

https://www.linkedin.com/pulse/projeto-sharebook-raffaello-damgaard/

2 - ENTRE NO SLACK

https://join.slack.com/t/sharebookworkspace/shared_invite/zt-4fb3uu8m-VPrkhzdI9u3lsOlS1OkVvg

2.2 - LÁ NO SLACK, ENTRE NO CANAL #BACKEND

  • Se apresente. Nome, cidade, profissão, e principais habilidades.
  • Pergunte sobre as tarefas em aberto.
  • Troque uma ideia com o time técnico. Comente como planeja solucionar. Ouça os conselhos dos devs mais experientes. Esse alinhamento é super importante pra aumentar significativamente as chances do seu PULL REQUEST ser aprovado depois.

3 - FAÇA PARTE DA EQUIPE NO TRELLO

https://trello.com/invite/sharebook6/928f21ef82592b5edafde06f171d338b


3.2 - PEGUE UMA TAREFA NO TRELLO.


4 - GITHUB

  • 4.1 FAÇA UM FORK DO REPOSITÓRIO: https://github.com/SharebookBR/sharebook-backend

  • 4.2 Crie uma branch baseada na branch original develop

    (experimente: git checkout develop && git checkout -b nomeDaSuaNovaBranch)

  • 4.3 Escreva seu código ❤️

    Nota: Não esqueça de garantir que todos os testes unitários continuem sendo executados corretamente.

  • 4.4 Crie sua PR apontando para a branch base develop (conforme imagem abaixo)

image

  • 4.5 Aguarde/acompanhe o status do seu PR

  • 4.6 Compartilhe/convide um amigo para contribuir com o ShareBook


---> ❤️ MISSÃO CUMPRIDA. VOCÊ AJUDOU O PROJETO. ❤️ <---


6 - Rodar o app pela primeira vez?

7 - Dicas Visual Studio Code

Nosso projeto já está configurado para você debugar e testar pelo vs code. Só precisa instalar alguns plugins abaixo:

Caso prefira linha de comando, segue uma colinha...

# restaurar dependências
dotnet restore ./ShareBook/ShareBook.sln

# build
dotnet build ./ShareBook/ShareBook.Api/ShareBook.Api.csproj --verbosity minimal

# Spinning up database (needs docker)
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=weWkh]6qA3jk" -p 1433:1433 --name=sql-server --hostname=sql-server -d mcr.microsoft.com/mssql/server:2022-latest

# rodar o app com hot reload
dotnet watch --project ./ShareBook/ShareBook.Api/ShareBook.Api.csproj

# rodar os testes
dotnet test ./ShareBook/ShareBook.Test.Unit/ShareBook.Test.Unit.csproj

# clean
dotnet clean ./ShareBook/ShareBook.Api/ShareBook.Api.csproj --verbosity quiet

[WIP] 8 - Como testar a aplicação usando postman

Atenção! Este passo está em construção e ainda exige alguns passos manuais. Em breve será automatizado.

Consiste em usar uma collection do postman (v2.1) para testar os resultados das requisições. No momento a collection está pronta para usa no ambiente de dev.

  1. Obter o arquivo ShareBook API - Tests.postman_collection.json do repositório
  2. Usando a ferramenta postman, clique em importar e selecione o arquivo
  3. Com o botão direito na collection ShareBook API - Tests, clique em Run collection
  4. Na nova janela clique em executar. Após executar verifique a quantidade de erros.

Suporte Multi-Database

O ShareBook agora suporta múltiplos provedores de banco de dados:

Provedores Suportados

  • SQL Server (padrão)
  • PostgreSQL
  • SQLite

Configuração

Para alternar entre bancos de dados, edite o arquivo appsettings.Development.json:

{
  "DatabaseProvider": "sqlserver", // "postgres", "sqlite"
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=sharebook;...",
    "PostgresConnection": "Host=localhost;Database=sharebook;Username=postgres;Password=postgres;",
    "SqliteConnection": "Data Source=sharebook.db;"
  }
}

SQL Server (padrão)

"DatabaseProvider": "sqlserver"

PostgreSQL

"DatabaseProvider": "postgres"

Requer PostgreSQL instalado localmente ou via Docker:

docker run --name postgres-sharebook -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=sharebook -p 5432:5432 -d postgres:15

SQLite

"DatabaseProvider": "sqlite"

Ideal para desenvolvimento local - não requer instalação de servidor de banco.

Health Checks

A aplicação inclui health checks automáticos para monitorar a conectividade do banco:

  • Endpoint: GET /health ou GET /hc
  • Resposta: Healthy quando o banco está conectado
  • Status HTTP: 200 (Healthy) ou 503 (Unhealthy)

Build e Run com Docker!

# Build da imagem
docker build -t sharebook-api -f devops/Dockerfile .

# Run com environment Development
docker run -d -p 8000:8080 -e ASPNETCORE_ENVIRONMENT=Development --name sharebook-container sharebook-api

Migrations - Caminho feliz

# cria sua migration
Add-Migration MigrationInicialPostgres

About

Projeto backend de código livre para o app Sharebook.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 32