JosephMartins / proffy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Be The Hero

Projeto feito acompanhando a NLW #2

🚀 Sobre o Projeto

O objetivo da aplicação é unir professores e alunos em uma plataforma para facilitar a comunicação entre ambos.


Estrutura do App

Web

A versão web permite que um professoor1 se cadastre, registre seus dias disponiveis e quais materias é sua especialização, criando-os com seu respectivo nome,descrição e valor a aula.

Tecnologias Utilizadas

  • ReactJS
  • Axios

Mobile

Na versão para Android e Ios, conseguimos visualizar todos os proffys disponiveis, e acessar detalhes de cada um deles, na pagina de detalhes podemos entrar em contato com o Proffy através de seu WhatsApp ou Whatsapp.

Tecnologias Utilizadas

  • React Native
  • Expo
  • Axios
  • intl
  • Feather Icons

Backend

Todo o servidor foi construido em Node com Express, usando o Knex como ORM para as migrations de comunicação com nosso banco SQLite,usamos celebrate para as validações da requisição,e Jest para Test-driven development (TDD).

Rotas

/sessions - POST

  Recebe no body um id referente a um ONG, busca no banco de dados a Ong e retorna a Ong que 
  pertence a esse id,usada para fazer o login da sessão de uma ong.

/profile - GET

  Usada para listagem de dados na Web.
  Recebe uma authorization em seu Header e retorna os casos cadastrados de uma ONG específica.

/incidents - GET

  Usada para listagem de dados no Mobile.
  Recebe um query param que define a página que o usuario está,e retorna todos os casos.

/incidents/:id - DELETE

  Recebe um route param que informa o id do caso a ser deletado.

/incidents - POST

  Usada para criar um novo caso
  Recebe no body: title,description,value,
  Retorna o id do caso criada.

/ongs - GET

  Retorna todas as ongs cadastradas

/ongs - POST

  Usada para cadastrar uma nova ONG.
  Recebe no body: name,email,whatsapp,city,uf.
  E retorna o id da ONG criada.

Tecnologias Utilizadas

  • NodeJS
  • Express
  • Jest
  • supertest
  • Knex
  • SQLite
  • cors
  • cross-env
  • celebrate
  • bee-queue

Para Executar o Projeto siga o passos ABAIXO   |   

Faça um clone desse repositório.

Backend

  1. Entre na pasta cd backend;
  2. Rode npm install ou yarn;
  3. Rode knex migrate para executar as migrations;
  4. Rode npm start ou yarn start para iniciar o servidor.

#Frontend Web

ps: Antes de executar, lembre-se de iniciar o backend deste projeto

  1. A partir da raiz do projeto, entre na pasta do frontend web rodando cd frontend;
  2. Rode npm install para instalar as dependências;
  3. Rode npm start para iniciar o client.

Frontend Mobile

ps: Antes de executar, lembre-se de iniciar o backend deste projeto

  1. A partir da raiz do projeto, entre na pasta do frontend mobile rodando cd mobile;
  2. Rode npm install ou yarn para instalar as dependências;
  3. Rode npm start ou yarn start.
  4. Instale o expo no seu celular.
  5. Leia o QR Code com a câmera do seu celular e espere a aplicação iniciar!

Feito por Joseph Martins ♥

About


Languages

Language:TypeScript 70.6%Language:CSS 28.0%Language:HTML 1.1%Language:JavaScript 0.2%