Skip to content

gabriel-nt/GoBarber-Backend

Repository files navigation

GoBarber

🚀 GoBarber

Backend da aplicação GoBarber

Features   |    Pré-Requisitos   |    Backend   |    Bibliotecas   |    Lincença

🚧 Finalizado 🚧

📌 Sobre

O GoBarber é uma aplicação voltada para cabeleireiros. Os usuários da aplicação, poderão realizar agendamentos para cortes de cabelos e afins de um prestador de serviços. Já os profissionais do área, terão controle de todos os agendamentos que já foram marcados, recebendo notificações de novos agendamentos.

📎 Features

Agendamentos

  • Criação de Agendamento
  • Listagem de Agendamentos
  • Listagem de Prestadores de Serviços
  • Listagem de Dias Disponíveis para Agendamento
  • Listagem de Meses Disponíveis para Agendamento

Usuários

  • Login e Logout
  • Criação de Perfil
  • Listagem do Perfil
  • Atualização de Perfil
  • Atualização do Avatar
  • Alteração de Email

Gerais

  • Cache
    • Redis
  • Upload de Imagens
    • Amazon S3
    • Disk Storage
  • Envio de Emails
    • Amazon SES
    • Ethereal

⚙ Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js e/ou Yarn Também, será necessário ter o Docker instalado e configurado em sua máquina. Além disto é bom ter um editor para trabalhar com o código como VSCode

🛢 Configurando Docker

# Clone este repositório
$ git clone https://github.com/gabriel-nt/GoStack-Backend

# Crie o container do Postgres
$ docker run --name gobarber -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres

# Crie o container do MongoDB
$ docker run --name mongodb -p 27017:27017 -d -t mongo

# Crie o container do Redis
$ docker run --name redis -p 6379:6379 -d -t redis:alpine 

🎲 Rodando o Back End (servidor)

# Instale as dependências
$ npm install ou yarn

# Rode as migrations
$ yarn typeorm migration:run

# Execute a aplicação em modo de desenvolvimento
$ yarn dev:server ou npm run dev

# Execute os testes
$ yarn test

# Execute os testes com Coverage
$ yarn test --coverage

# O servidor inciará na porta:3333 - acesse <http://localhost:3333>
  • Obs: Para executar os backend, crie um banco de dados.

🧾 Insomnia

Para ter um exemplo das rotas para a nossa API, basta clicar no link abaixo:
Run in Insomnia

🚀 Tecnologias

Esse projeto foi desenvolvido com as seguintes tecnologias:

  • Node.js
  • TypeScript
  • Postgres
  • MongoDB
  • Redis

📕 Bibliotecas

Esse projeto foi desenvolvido com o auxílio das seguintes libs:

  • Express
  • Jest
  • TypeORM
  • aws-sdk
  • jwt
  • nodemailer
  • celebrate
  • date-fns

📙 Arquitetura do Projeto

Para uma melhorar estrutura de projetos utilizamos das seguintes fundamentos:

  • DDD
  • TDD
  • SOLID

📘 Padrão de Código

Para padronizar a escrita do código, utilizamos as seguinte ferramentas:

  • Eslint
  • Prettier
  • EditorConfig

📝 Licença

Esse projeto está sob a licença MIT.


Feito por Gabriel Teixeira

Releases

No releases published

Packages

No packages published