App - Instruções
- Aplicativo mobile, construído pra android, apenas.
- Construído em React Native, redux, styled-components, entre outras ferramentas.
Docs - Instruções
- 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
Web - Instruções
- 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
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.