Skip to content
This repository has been archived by the owner on Mar 19, 2022. It is now read-only.
/ gostack-8-meetapp Public archive

Aplicação desenvolvida através dos desafios propostos para a certificação do Bootcamp GoStack 8 da Rocketseat.

License

Notifications You must be signed in to change notification settings

thejoaov/gostack-8-meetapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeetApp
Yare Yare daze

GitHub top language GitHub language count Repository size GitHub last commit Repository issues GitHub

Projeto MeetAppp desenvolvido durante o Bootcamp GoStack 8 da Rocketseat, para o desafio final da certificação.

Estrutura

  • Aplicativo mobile, construído pra android, apenas.
  • Construído em React Native, redux, styled-components, entre outras ferramentas.
  • Servidor de documentação, exemplificando os dados que devem ser enviados para a API.
  • Construído com Insomnia Documenter.
  • Quando o projeto é iniciado pelo docker-compose da raiz do projeto, ele roda no endereço localhost:5000.

Server - Instruções

  • Servidor backend da aplicação.
  • Construído com Sequelize ORM, express, multer, bee-queue, sucrase, e outras ferramentas. A documentação da API está disponível através da da aplicação de documentação.
  • Quando o projeto é iniciado pelo docker-compose da raiz do projeto, ele roda no endereço localhost:3333.
  • Também hospedado no heroku, como versão de "produção": Backend MeetApp
  • Aplicação frontend web do projeto.
  • Construído com create-react-app, redux, styled-components e outras ferramentas.
  • Quando o projeto é iniciado pelo docker-compose da raiz do projeto, ele roda no endereço localhost:3000.
  • Também hospedado no heroku, como versão de "produção": Web MeetApp

Rodando o projeto localmente

Requisitos:


Antes do projeto ser iniciado, é necessário definir as variáveis de ambiente. Portanto crie um arquivo .env ena raiz do projeto, com o conteúdo do arquivo .env.example. Edite os campos DB_USER, DB_PASS e DB_NAME, isto vai servir pra criar o banco de dados com essas configurações. Para que ocorra a conexão correta com o banco, crie outro arquivo .env no diretório server, com o conteúdo do arquivo .env.example dentro da pasta server. Também edite os campos DB_USER, DB_PASS e DB_NAME, com os mesmos valores do arquivo .env que foi criado na raiz do projeto.

Assim, o projeto (frontend e backend) pode ser iniciado em modo de desenvolvimento, com o seguinte comando na raiz:

# A opção "-d" inicia os contâineres e não exibe os retornos. Se você quer ver o projeto executanto, não use essa opção.
$ docker-compose up -d 

Isso vai iniciar os seguintes containers, na seguinte ordem:

  • postgres-database
    • Banco de dados postgres.
    • Usuário e senha do postgres podem ser definidos através de dois arquivos .env, um na raiz do diretório, apenas com a configuração do banco de dados postgres, e outro de acordo com o conteúdo do arquivo server/.env.example, dentro da pasta server.
    • Atenção: Por padrão, sem a criação dos arquivo com as variáveis de ambiente, será utilizado o usuário padrão postgres e sem senha, o que pode causar uma falha de segurança.
  • frontend-application
    • Aplicação web front-end do meetapp. Acessível através do endereço localhost:3000
  • redis-database
    • Banco de dados Redis, utilizado para guardar a fila de tarefas.
  • mongo-database
    • Banco de dados mongoDB, utilizado para armazenamento de esquemas.
  • mailhog-mail-service
    • Serviço de email, capturando os emails enviados pela porta smtp. Acessível através do endereço localhost:8025
  • api-docs-application
    • Aplicação local da documentação da API. Acessível através do endereço localhost:5000
  • bee-queue-service
    • Serviço da fila de tarefas (emails), utilizando bee-queue.
  • backend-application
    • Aplicação backend da API. Acessível através da rota localhost:3333

A partir daqui, a aplicação já estará pronta para receber as requisições. Se deseja testar as rotas, o arquivo com a configuração de rotas para teste no insomnia está na pasta docs/src/insomnia.json. Faça o download e importe no Insomnia, que é uma ferramenta de testes de rotas, muito eficiente, prático, leve e customizável. Link para download.


Issues