Skip to content

Barbershop appointment web and mobile apps and a rest API created during the Rocketseat GoStack (Ignite) course

Notifications You must be signed in to change notification settings

rafaelreisramos/gostack-11-gobarber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoBarber


GoBarber

Este repositório é resultado do projeto desenvolvido no curso de formação Javascript fullstack GoStack, atual Ignite da Rocketseat.

O projeto é composto de 3 aplicações: uma api REST, um web app desenvolvido em React e um aplicativo mobile desenvolvido em React Native.

A aplicação foi publicada aqui no Github como um monorepo isolado, isto é, não existe um compartilhamento de código, nem da pasta node_modules.

Optou-se por esta configuração para deixar todas as partes (api, web, mobile) da aplicação reunidas em um único repositório ainda que com código não compartilhado entre as aplicações.

Os deploys da api e web (feitos a partir das github actions) são individualizados.

Para verificar o funcionamento do projeto clone o repositório

git clone https://github.com/rafaelreisramos/gostack-11-gobarber.git

ou

git clone git@github.com:rafaelreisramos/gostack-11-gobarber.git

Entre no diretório do projeto

cd gostack-11-gobarber

A partir deste diretório você tem acesso às 3 aplicações divididas nas pastas api, web e mobile. As instruções a seguir mostram como rodar cada um dos projetos em sua máquina local.

Assumo aqui que você esteja utilizando Linux, WSL ou um MacOs com acesso a um terminal Unix.

Caso não esteja, podem ocorrer alguns erros com variáves de ambiente na execução dos scripts. Para maiores esclarecimentos você pode consultar o site cross-env, instalar o pacote a aplicar quaisquer modificações que sejam necessárias.

GoBarber API (REST api)

Uma API REST com:

  • Node.js
  • Framework Express
  • Princípios de desenvolvimento SOLID
  • Banco de dados PostgresSQL para cadastro de usuários e agendamentos
  • Banco de dados MongoDB para armazenamento das notificações e mensagens
  • Banco de dados redis para dados de cache e limitação de requisições
  • Containers docker com docker compose para desenvolvimento e deploy

Tecnologias usadas

Rodando a aplicação localmente

  1. Instale o nvm
  2. Instale o node na versão 16.x
nvm v16.15.0
  1. Instale o docker compose
  2. Instale o yarn
  3. Vá para o diretório api
cd api
  1. Copie o arquivo .env.example para um arquivo .env
cp .env.example .env
  1. Suba os containers de banco de dados (docker compose ou docker-compose)
docker compose up -d
  1. Verifique se os containers estão ativos
docker ps -a
  1. Caso não estejam ativos confira os logs substituindo o container_id pelo id informado no comando anterior.
docker container container_id logs
  1. Caso esteja tudo correto instale as dependências com
yarn install
  1. Inicie a aplicação
yarn dev:server
  1. Acesse a aplicação no endereço http://localhost:3333

Deploy

Todo...

GoBarber Web (web app com React.JS)

Layout do GoBarber no Figma

O app web do GoBarber foi desenvolvido em React usando o a ferramenta de criação create-react-app.

O app web é voltado para os prestadores de serviço da plataforma GoBarber.

Os prestadores de serviços acessam a área logada e podem verificar os agendamentos dos clientes e configurar o perfil.

Já os clientes acessam o app mobile para agendar os serviços.

Tecnologias usadas

GoBarber Mobile (mobile app em React Native)

Tecnologias usadas

About

Barbershop appointment web and mobile apps and a rest API created during the Rocketseat GoStack (Ignite) course

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published