Backend do aplicativo Go Barber feito com nodeJS e TypeScript
Reportar um Bug
·
Pedir uma Feature
Esse é o servidor do aplicativo Go Barber. A idéia do aplicativo é auxiliar na vida dos barbeiros facilitando a parte de gerenciar os serviços. O aplicativo mantém uma agenda e nela usuários podem marcar seus cortes de cabelo, mantendo uma lista dos próximos usuários à serem atendidos e uma disponibilidade automática.
Nesse aplicativo foram utilizadas as seguintes tecnologias
Para utilizar o projeto localmente basta seguir os seguintes passos.
Precisamos das seguintes ferramentas.
- npm
- Docker
- Clone o repositório
git clone https://github.com/whateverwillian/go-barber-server
- instale as dependências do projeto
npm install
- Crie os bancos de dados com Docker
- postgres
docker run -d --name postgres -e POSTGRESQL_PASSWORD=senha -e POSTGRESQL_USERNAME=postgres -e POSTGRESQL_DATABASE=postgres -p 5432:5432 bitnami/postgresql:latest
- mongoDB
docker run -d --name mongodb -e MONGODB_USERNAME=mongo -e MONGODB_PASSWORD=senha -e MONGODB_DATABASE=mongo -p 27017:17017 bitnami/mongodb:latest
- Redis
docker run -d --name redis -e REDIS_PASSWORD=senha -p 6379:6379 bitnami/redis:latest
No caso do redis precisamos colocar as variáveis no arquivo .env na raíz do projeto
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASS=senha
- Configure a conexão com os bancos no arquivo ormconfig.json
[
{
"name": "default",
"type": "postgres",
"host": "localhost",
"port": 5432,
"username": "postgres",
"password": "senha",
"database": "postgres",
"entities": [
"./src/modules/**/infra/typeorm/entities/*.ts"
],
"migrations": [
"./src/shared/infra/typeorm/migrations/*.ts"
],
"cli": {
"migrationsDir": "./src/shared/infra/typeorm/migrations"
}
},
{
"name": "mongo",
"type": "mongodb",
"host": "localhost",
"port": 27017,
"database": "mongo",
"username": "mongo",
"password": "senha",
"useUnifiedTopology": true,
"entities": [
"./src/modules/**/infra/typeorm/schemas/*.ts"
]
}
]
- Users
POST users - criar um usuário
PATCH users/avatar - atualizar o avatar
- Profile
GET profiles - mostra seu perfil
PUT profiles/update - atualiza informações do perfil
- Password
POST passwords/forgot - Esqueci minha senha
POST passwords/reset - Insere uma nova senha
- Sessions
POST sessions - Faz login
- Providers
GET providers - Lista os provedores de serviço
GET providers/:provider_id/day-availability - Pega a disponibilidade do provider pra um dia
GET providers/:provider_id/month-availability - Pega a disponibilidade do provider para o mês
- Appointments
POST appointments - Cria um agendamento
GET appointments/me - Caso você seja um provedor, pega seus serviços agendados
Contribuir é o que faz a comunidade open source um lugar tão incrível para aprender, inspirar e criar. Qualquer contribuição é apreciada.
- Dê um fork no projeto
- Crie uma nova Branch (
git checkout -b feature/nova-feature
) - Dê um commit nas mudanças (
git commit -m 'Adicionei uma feature'
) - Dê um push pra Branch (
git push origin feature/nova-feature
) - Abra um Pull Request
Distribuído sob licença MIT.
Willian tavares - https://www.linkedin.com/in/whateverwill - [email protected]
Project Link: https://github.com/whateverwillian/go-barber-server