Janaina2208 / ON14-NossaReforma_JanainaLopes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nome do Projeto

Nossa Reforma

🎫Tema

API para doação de material de construção excedentes de outras reformas.

👩‍🔧Sobre o projeto 🧱📝👷‍♀️

"Segundo estimativas recentemente realizadas pela Organização das Nações Unidas (ONU), mais de 100 milhões de pessoas em todo o mundo não possuem um lugar para viver, enquanto mais de 1 bilhão reside em moradias inadequadas. Esse problema é uma reprodução das desigualdades sociais e de renda existentes nas sociedades." Por Me. Rodolfo Alves Pena

Segundo estudos publicados, o nordeste é uma das regiões brasileiras mais afetadas pela desigualdade social e com os piores índices de desenvolvimento humano -IDH. Esses déficts geram grandes impactos principalmente na educação, saúde e moradia, pois as pessoas que estão na base da nossa estrutura social, por vezes, têm piores condições de vida em função da diferença econômica entre as classes.

Atuando como engenheira civil e atuando em diferentes frentes de trabalho, percebi de um lado o desperdício de material, geralmente comprado em excesso, e do outro a necessidade das pessoas de reparos simples no lar que fariam diferença na qualidade da moradia, mas lhes faltam recursos. Pensando em, de algum modo, melhorar a qualidade de vida da população, pensei em iniciar pelo ponto que tenho maior conhecimento, construções e reformas. Se observarmos a quantidade de material tida como entulho por uns, mas de grande serventia para outros, faríamos habitações mais saudáveis.

Com esta aplicação, o doador economiza no transporte e descarte de materiais de construção, enquanto o recebedor terá itens necessários para melhorias de suas moradias, segurança e bem-estar de suas famílias.

Acredito que num ambiente estruturado e com variáveis de ambiente adaptadas às necessidades dos indivíduos, tem-se saúde física e mental para desenvolver melhor as atividades cotidianas e transformar vidas!

⚙️Funcionalidades da aplicação

Este projeto é uma API fundamentada no CRUD, que são: CREATE (CRIAR), READ(LER-CONSULTAR), UPDATE(ATUALIZAR) e DELETE(REMOVER).

  • Cadastra doadores de materiais de construção - POST
  • Cadastra beneficiados para receber doações de materiais de construção - POST
  • Cadastra as doações de materiais de construção - POST
  • Valida o acesso dos doadores de materiais de construção - POST
  • Valida o acesso dos beneficiados de materiais de construção - POST
  • Busca todos os cadastros de materiais de construção - GET
  • Busca todos os cadastros de doadores - GET
  • Busca todos os cadastros de beneficiados - GET
  • Busca por material - GET
  • Atualiza dados do cadastro de material de construção - PATCH
  • Apaga os cadastro que tiveram todos os materiais doados - DELETE

💻Tecnologias

🧱Arquitetura MVC

    📂  NossaReforma_ON14
        |   README.md
        |   .gitignore
        |   .env
        |   .env.example
        |   package-lock.json
        |   package.json
        |   Procfile
        |   server.js
        \--📂 assets
            |       janainaLopes.jpg
            |
            |       logo_nossaReforma.png
            |
        \--📂 node_modules
        \--📂src
            |
            |     app.js
            |
            📂---controller
            |       
            |       benefitedController.js
            |
            |       donorController.js
            |
            |       materialController.js
            |
            📂---database
            |       
            |       config.js
            |                
            📂---helpers
            |       
            |       auth.js
            |              
            📂---middlewares
            |       
            |       auth.js
            |                                         
            📂---model
            |        
            |       benefitedSchema.js
            |
            |       donorsSchema.js
            |
            |       materialSchema.js
            |
            📂---routes
            |      
            |       benefitedRoutes.js
            |
            |       donorRoutes.js
            |
            |       index.js
            |
            |       materialRoutes.js
            |__

🔃 Quadro de rotas:

Método HTTP Tipo da Rota Endpoint Descrição
GET Pública /nossareforma/todos Retorna todos os materiais para doação
GET Privada /nossareforma/buscar Retorna os materiais por nome
GET Privada /beneficiados/todos Retorna todos beneficiados cadastrados
GET Privada /doadores/todos Retorna todos doadores cadastrados
POST Pública /doadores/criarconta Cria/cadastra novo doador
POST Pública /doadores/logindoador login de usuário para autorização
POST Pública /beneficiados/criar Cria/cadastra novo beneficiado
POST Pública /beneficiados/login login de usuário para autorização
POST Privada /nossareforma/doacao Cria/cadastra novo material
PATCH Privada /nossareforma/atualiza Atualiza cadastro de material
DELETE Privada nossareforma/delete Remove cadastro do material

🗺️Rotas/EndPoints

GET /todos - "/nossareforma/todos"

https://nossareforma.herokuapp.com/nossareforma/todos

Rota pública onde retorna uma lista com todos os itens para doação, exceto nome e telefone do doador.

HTTP Status Code: 200 - Ok

GET - "/nossareforma/buscar"

https://nossareforma.herokuapp.com/nossareforma/buscar

Rota que retorna lista dos cadastro contendo o material pesquisado.

HTTP Status Code: 200 - Ok

POST - "/doadores/criarconta"

https://nossareforma.herokuapp.com/doadores/criarconta

Rota onde o doador se cadastra.

HTTP Status Code: 201 - Created

POST - "/doadores/logindoador"

https://nossareforma.herokuapp.com/doadores/logindoador

Rota para login do doador, onde é feita a validação e gerado um token para autorização.

HTTP Status Code: 200 - Ok

GET /todos - "/doadores/todos"

https://nossareforma.herokuapp.com/doadores/todos

Rota privada que retorna lista de todos os doadores cadastrados.

HTTP Status Code: 200 - Ok

POST - "/beneficiados/criar"

https://nossareforma.herokuapp.com/beneficiados/criar

Rota onde o beneficiado se cadastra.

HTTP Status Code: 201 - Created

POST - "/beneficiados/login"

https://nossareforma.herokuapp.com/beneficiados/logindoador

Rota para login do beneficiado, onde é feita a validação e gerado um token para autorização.

HTTP Status Code: 200 - Ok

GET /todos - "/beneficiados/todos"

https://nossareforma.herokuapp.com/beneficiados/todos

Rota privada que retorna lista de todos os beneficiários cadastrados.

HTTP Status Code: 200 - Ok

POST - "/nossareforma/doacao"

https://nossareforma.herokuapp.com/nossareforma/doacao

Rota que recebe um novo material, adiciona ele collection e retorna o item criado.

HTTP Status Code: 201 - Created

PATCH /:id - "/nossareforma/atualiza"

https://nossareforma.herokuapp.com/nossareforma/atualiza/:id

Rota que atualiza certo item da collection e retorna o item atualizado.

HTTP Status Code: 200 - Ok

DELETE /:id - "nossareforma/delete"

https://nossareforma.herokuapp.com/nossareforma/remove/:id

Rota que deleta um item baseado em seu id.

HTTP Status Code: 204 - No Content

📝Schema - materialSchema

- id: mongoose.Schema.Types.ObjectId,
- finished: Boolean,
- material: String,
- qtyMaterial: String,
- district: String,
- donor: mongoose.Schema.Types.ObjectId,
- phone: String

📝Schema - donorsSchema

- name: String,
- email: String,
- password: String

📝Schema - benefitedSchema

- name: String,
- email: String,
- password: String

🚀Melhorias para o futuro

  • Criar um estoque com entrada e saída de material para controle de quantidade,
  • Melhorar as validações,
  • Melhorar o schema para ter mais dados dos usuários.

🙏🏽Agradecimentos

O que falar sobre essa experiência maravilhosa, sobre pessoas incríveis!?

Vamos falar de Tassila Bomfim!? Amiga de todas as horas que me mostrou esse mundo da programação e {Reprograma}! Obrigada,amiga "mister" pelo incentivo incansável, por acreditar em mim sempre e me inspirar sendo essa profissional exemplar!

Falando sobre amizade... QUE SELEÇÃO É ESSA, {REPROGRAMA}??? Como que vocês selecionam esse time incrível assim!? Obrigada novas, que já são antigas, amigas! Eu prefiro não nomear uma, nem ordenar, nem mensurar... vocês são incríveis! Como falamos: Deusas, Anjas, Maravilhosas! Obrigada por esta jornada... obrigada por compartilharem tanto! Mulheres, umas pelas outras, sem ninguém soltar a mão de ninguém!

Sobre o mundo {Reprograma}... Que cultura extraordinária! Muito acolhimento, calor humano, embasamento, incansáveis semanas de estudos, conteúdos direcionados e semanas lindas de compartilhamento.

Nossa facilitadora é um caso à parte, viu!? Raquel, que paciência! Obrigada por estar sempre disposta, pela relação próxima e cheia de alto astral! Sem você não teria sido tão bom!

Por fim, e não menos importante nesse processo, agradeço, às profas e monitoras MA-RA-VI-LHO-SAS! Cada uma trazendo seu conhecimento, vivência e acolhimento da maneira mais enriquecedora possível!

Enfim, agradecer ao universo por tudo isso!!!

💜👩💜👩🏼💜👩🏽💜👩🏾💜👩🏿💜

💬 Para entrar em contato seguem os canais abaixo.

📂https://github.com/Janaina2208

📠https://www.linkedin.com/in/janainalopes-dev/

📫 email: janaina.dev@yahoo.com

☎ telefone/whatsapp: (71) 99122-6375


Jana-Js Jana-Git Jana-Node Jana-Nodemon Jana-Express Jana-Mongo Jana-Vs Jana-Heroku

About


Languages

Language:JavaScript 99.8%Language:Shell 0.2%