Git Product home page Git Product logo

thejoaov / gostack-8-meetapp Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 46.43 MB

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

License: MIT License

JavaScript 91.33% Python 1.41% Java 1.63% Ruby 1.61% Objective-C 3.06% Dockerfile 0.09% HTML 0.86%
meetapp gostack8 rocketseat bootcamp-gostack bootcamp-rocketseat rocketseat-bootcamp nodejs api react-native reactjs react docker docker-compose

gostack-8-meetapp's Introduction

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

gostack-8-meetapp's People

Contributors

dependabot[bot] avatar thejoaov avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.