Skip to content
This repository has been archived by the owner on Apr 22, 2021. It is now read-only.
/ gobarber-api Public archive

💈 API para agendar e gerenciar serviços de beleza, onde prestadores de serviços podem se cadastrar, e usuários poderão marcar agendamentos com estes prestadores.

License

Notifications You must be signed in to change notification settings

leoscc/gobarber-api

Repository files navigation

Bootcamp GoStack 11 🚀

GitHub language count Repository size GitHub last commit License

💻 Sobre o projeto

GoBarber - Aplicação para agendar e gerenciar serviços de beleza, onde prestadores de serviços podem se cadastrar, e usuários poderão marcar agendamentos com estes provedores.

🚀 Como rodar este projeto?

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas:

  • Node.js - para executar JavaScript fora do navegador
  • Docker - rodar as imagens do banco de dados
  • NPM ou Yarn para instalar as dependências do projeto
  • Git - caso queira clonar o projeto no GitHub (Você pode simplesmente fazer o dowload pelo GitHub caso ache melhor)
  • Além disto é bom ter um editor para trabalhar com o código como VSCode

Rodando o projeto

# Clone este repositório
$ git clone https://github.com/leon-carvalho/gobarber-api

# Acesse a pasta do projeto no terminal/cmd
$ cd gobarber-api

# Instale as dependências
$ yarn
# Ou use NPM se preferir
$ npm install

# Crie a imagem Docker 🐳 do banco de dados com base no arquivo docker-compose.yml
# Serão criadas imagens dos bancos: PostgreSQL, MongoDb e Redis
$ docker-compose up -d

# Rode as migrations para o banco de dados
$ yarn typeorm migration:run
# Ou use NPM
$ npm run typeorm migration:run

# Execute os testes da aplicação com o comando
$ yarn test
# Ou use NPM
$ npm run test

# Execute a aplicação em modo de desenvolvimento
$ npm run dev:server
# Ou use NPM
$ npm run dev:server

# O servidor inciará na porta:3333 - acesse http://localhost:3333

# Gere a build da aplicação com o comando:
$ npm run build

🛤 Rotas

Você pode acessar as rotas no Insomnia clicando no botão abaixo:

Run in Insomnia

🛠 Tecnologias

Principais ferramentas usadas na construção do projeto:

📚 O que pude estudar desenvolvendo esta aplicação?

  • TypeScript
  • Autenticação JWT
  • Filas com Redis
  • Envio de e-mails
  • Validação de dados
  • Injeção de dependência
  • Geração de Hash de senha
  • Utilizar imagens Docker
  • Upload de arquivos no Node
  • Trabalhar com datas e fusos
  • Utilização de banco de dados SQL
  • Utilização de banco de dados NoSQL
  • Criação de testes unitários com Jest
  • Domain Driven Design (DDD)
  • Test Driven Design (para os services da aplicação)

🤔 Como contribuir para o projeto?

  1. Faça um fork do projeto.
  2. Crie uma nova branch com as suas alterações: git checkout -b my-feature
  3. Salve as alterações e crie uma mensagem de commit contando o que você fez: git commit -m "feature: My new feature"
  4. Envie as suas alterações: git push origin my-feature

Caso tenha alguma dúvida confira este guia de como contribuir no GitHub

👏 Agradecimentos

✍🏽 Autores

Feito com ❤️ por Leonardo Carvalho

GitHub - @leon-carvalho

LinkedIn - entre em contato!

📝 Licença

Este projeto esta sobe a licença MIT. Veja a LICENÇA para saber mais.

About

💈 API para agendar e gerenciar serviços de beleza, onde prestadores de serviços podem se cadastrar, e usuários poderão marcar agendamentos com estes prestadores.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published