Skip to content

Alexandre-Busarello/Meetapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Meetapp

Desafio feito para o Bootcamp da Rocketseat. É uma aplicação para gestão de eventos e inscrições de usuários similar ao Meetup. Para simplificar o envio, juntei todas as aplicações no repositório e separei por pastas (backend, frontend e mobile). Porem o ideal é fazer um repositório para a API (backend), outro para a pagina web (frontend) e outro para aplicação mobile.

Backend

O backend da aplicação foi feito em Node.JS e utiliza:

  • Express (Servidor Web)
  • JWT (autentição)
  • Sequelize (ORM)
  • Nodemailer (envio de e-mail)
  • BeeQueue (Controle de fila para envio de e-mail)
  • Yup (Validação de Schema)
  • Multer (Upload de imagem)
  • Postgres
  • Redis
  • ESLint
  • Prettier
  • Nodemon
  • Sucrase

Para rodar a aplicação (prompt precisa estar na pasta backend):

  • Criar containers do Postgres e Redis:
docker run --name database -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres
docker run --name redismeetapp -p 6379:6379 -d redis
  • Configurar os HOSTs corretos no arquivo .env da aplicação. Sei que o arquivo .env não deveria ficar no repositório, apenas um .env de exemplo, porem como não é uma aplicação para fins de uso real, apenas para aprendizado e para o teste da rocketseat, deixei o arquivo.

  • Executar as migrations para criar o banco:

yarn sequelize db:migrate
  • Executar a aplicação:
yarn
yarn run dev
  • Executar aplicação para envio de e-mail:
yarn run queue

Frontend

A pagina web da aplicação foi construida com ReactJS utilizando:

  • Axios (Lib para chamadas HTTP)
  • Date-Fns (Lib de data)
  • Redux (Compartilhamento de estados
  • Redux Saga (Tratramento de side-effects para o Redux)
  • Rocketseat/Unform (Lib de Form)
  • Styled Components (Estilização de componentes)
  • Immer
  • Yup (Validação de Schema)
  • React Router DOM (Roteamento)
  • Reactotron (Ferramenta para auxiliar Debug)
  • ESLint
  • Prettier

Para rodar a aplicação (prompt precisa estar na pasta frontend):

yarn
yarn start

Mobile

A aplicação mobile foi construida com React Native utilizando:

  • Axios (Lib para chamadas HTTP)
  • Date-Fns (Lib de data)
  • Redux (Compartilhamento de estados
  • Redux Saga (Tratramento de side-effects para o Redux)
  • Styled Components (Estilização de componentes)
  • Immer
  • Yup (Validação de Schema)
  • React Navigation (Navegação)
  • Reactotron (Ferramenta para auxiliar Debug)
  • ESLint
  • Prettier

Para rodar a aplicação (prompt precisa estar na pasta mobile):

Android

yarn
react-native link
react-native run-android

IOS

yarn
react-native link
react-native run-ios

Existe um arquivo src/config/AppConfig.js que contem o IP da maquina que está rodando a API. Precisa alterar esse arquivo para a aplicação rodar corretamente.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors