API para o projeto EMTU Acessível, uma iniciativa para fornecer informações de acessibilidade sobre as linhas de ônibus da EMTU.
Este repositório contém o back-end da aplicação. A API é responsável por gerenciar os dados de linhas de ônibus, veículos, cidades, e fornecer os endpoints necessários para o aplicativo móvel.
Antes de começar, você vai precisar ter instalado em sua máquina:
- Git
- Node.js (v19.x ou superior)
- Yarn (v1.22.x ou superior)
- Docker e Docker Compose (Recomendado)
Este é o método mais simples para configurar e rodar o ambiente de desenvolvimento.
git clone https://github.com/UnifespCodeLab/emtu-api.git
cd emtu-apiCrie uma cópia do arquivo de exemplo .env.sample e renomeie para .env.
cp .env.sample .envO arquivo .env já vem com os valores padrão para o ambiente Docker.
Com o Docker em execução, suba o container do banco de dados PostgreSQL.
docker compose up -d postgresInstale todas as dependências do projeto com o Yarn.
yarn installPara criar as tabelas e popular o banco de dados com os dados iniciais, execute os seguintes comandos:
# Aplica as migrations do Prisma
yarn prisma migrate dev
# Popula o banco com os dados iniciais
sh prisma/seed.shAtenção: O script seed.sh não deve ser executado mais de uma vez, pois pode duplicar os dados. Caso precise resetar o banco, use yarn prisma migrate reset.
Agora, inicie o servidor de desenvolvimento:
yarn run devO servidor estará em execução em http://localhost:3000. Você pode acessar a documentação da API em http://localhost:3/api-docs/.
Caso não queira usar o Docker, siga os passos abaixo.
git clone https://github.com/UnifespCodeLab/emtu-api.git
cd emtu-api
yarn install- Instale o PostgreSQL (versão 13 ou superior).
- Crie um banco de dados.
- Configure as variáveis de ambiente no arquivo
.envcom os dados de conexão do seu banco (usuário, senha, nome do banco, etc.).
Execute os comandos para preparar o banco de dados:
# Aplica as migrations do Prisma
yarn prisma migrate dev
# Popula o banco com os dados iniciais
sh prisma/seed.shyarn run devO servidor estará em execução em http://localhost:3333.
yarn dev: Inicia o servidor em modo de desenvolvimento.yarn start: Inicia o servidor em modo de produção (requer build).yarn test: Executa os testes com Jest.yarn postinstall: Executa o build do projeto (compila TypeScript para JavaScript).
- Dê uma olhada em como funcionam os Conventional Commits.
- Vá até o board do projeto no GitHub.
- Encontre uma
issuepara trabalhar, atribua a si mesmo e mova para a coluna "In Progress". - Crie uma nova branch a partir da
main:git checkout -b feature/nome-da-featureoufix/nome-do-fix. - Faça commits "atômicos" e com mensagens claras.
- Ao finalizar, abra um Pull Request (PR) para a branch
main. - Marque os revisores e vincule a
issueao seu PR.