💈 GoBarber
- Sobre o projeto
- Funcionalidades
- Layout
- Como executar o projeto
- Tecnologias
- Como contribuir no projeto
- Autor
- Licença
💈 O GoBarber é um app para barbearia com interface web para os barbeiros e interface mobile para os clientes, que permite agendamento de horário
Projeto desenvolvido durante o bootcamp GoStack oferecido pela Rocketseat.
- Barbeiros podem utilizar a plataforma web para:
- Cadastrar-se, fazer login e recuperar a senha
- Atualizar seu perfil
- Listar seus agendamentos por data
- Os usuários tem acesso ao app mobile, onde podem:
- Cadastrar-se, fazer login e recuperar a senha
- Atualizar seu perfil
- Listar os prestadores de serviço (barbeiros)
- Listar os horários disponíveis por data para cada barbeiro
- Fazer um agendamento
O layout da aplicação está disponível no Figma:
Este projeto é divido em duas partes:
- Frontend Web (pasta web)
- Frontend Mobile (pasta mobile)
- Backend (pasta server)
💡 Tanto o Frontend Web quanto o Mobile precisam que o Backend esteja sendo executado para funcionar
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js. Além disto é bom ter um editor para trabalhar com o código como VSCode.
# Clone este repositório
$ git clone git@github.com:lucasbarzan/gobarber.git
# Acesse a pasta do projeto no terminal/cmd
$ cd gobarber
# Vá para a pasta do backend
$ cd server
# Instale as dependências
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm run dev:server
# O servidor inciará na porta:3333 - acesse http://localhost:3333
# Clone este repositório
$ git clone git@github.com:lucasbarzan/gobarber.git
# Acesse a pasta do projeto no seu terminal/cmd
$ cd gobarber
# Vá para a pasta do frontend
$ cd web
# Instale as dependências
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm run start
# A aplicação será aberta na porta:3000 - acesse http://localhost:3000
Siga as instruções deste link para configurar o ambiente de desenvolvimento mobile em React Native e poder rodar a aplicação na sua máquina.
As seguintes ferramentas foram usadas na construção do projeto:
Server (NodeJS + TypeScript)
- Express
- AWS SDK
- bcryptjs
- uuidv4
- Celebrate
- class-transformer
- date-fns
- CORS
- node-postgres
- mongodb
- ioredis
- redis
- TypeORM
- ts-node
- Nodemailer
- Multer
- rate-limiter-flexible
- dotENV
- tsyringe
- Handlebars
- Jest
Veja o arquivo package.json
Website (React + TypeScript)
- React Router Dom
- React Icons
- React Day Picker
- React Spring
- Unform
- Styled Components
- Axios
- Yup
- uuidv4
- date-fns
- polished
Veja o arquivo package.json
Mobile (React Native + TypeScript)
- React Navigation
- React Native Gesture Handler
- React Native Screens
- React Native Vector Icons
- React Native Image Picker
- React Native Safe Area Context
- React Native iPhone X Helper
- @react-native-community/async-storage
- @react-native-community/datetimepicker
- Styled Components
- Axios
- Yup
Veja o arquivo package.json
- Protótipo: Figma
- Editor: Visual Studio Code
- Teste de API: Insomnia
- Fontes: Roboto Slab
- Faça um fork do projeto.
- Crie uma nova branch com as suas alterações:
git checkout -b my-feature
- Salve as alterações e crie uma mensagem de commit contando o que você fez:
git commit -m "feature: My new feature"
- Envie as suas alterações:
git push origin my-feature
Lucas Barzan
Este projeto esta sob a licença MIT.
Feito com ❤️ por Lucas Barzan 👋🏽 Entre em contato!