UP HOUSE STUDENT trata-se de uma API voltada à construção civil, cujo principal objetivo será unir universidades e pessoas de baixa renda para solucionar pequenos problemas de obras residências.
A principio, a ideia será que pessoas de baixa renda façam um cadastro na API UP HOUSE STUDENT, descreva o seu problema e por fim universidades tenham acesso aos cadastros dessas pessoas, com o intuito de que docentes selecione casos reais para que alunos do curso de engenharia civil possam ter essa vivência durante a graduação, de modo que seja possível que os discentes façam, de fato, um estudo de caso real, com possíveis visitas técnicas.
Como sugestão, esse projeto pode ser oferecido nas universadades no modelo de estudos de casos com a contribuição de alunos da graduação, pós-graduação e principalmente com a orientação de um docente.
- Problema
- Solução
- Tema
- Arquitetura
- Rotas
- Rota de usuários
- Rota de solicitação
- Modelos
- Tecnologias
- Instalação
- Implementações Futuras
- Autora
- Referências
Existem casos na graduação onde alunos não conseguem oportunidades de realizar estágios e finalizam a graduação apenas com o conhecimento teórico, o que acaba gerando certa inseurança para entrar no mercado de trabalho.
Em parelelo, aprendemos na graduação a importância de um profissional para orientar quanto as técnicas construtivas. Contudo, há uma resistência da população em contratar esse profissional, principalmente a população de baixa renda. Muito provávelmente esse público tem outras prioridades em distribuir sua renda e quando surge a necessidade de algum reparo na residência acaba fazendo por conta própria.
Acredita-se que unir as dificuldades pode ser enriquecedor para as partes envolvidas, visto que quando uma pessoa encontrar um problema na sua residência, a mesma poderá ser apresentada na API UP HOUSE STUDENT para que universidades tenham acesso e seus alunos solucionem o assunto posto, juntamente com profissionais recém formados (com registro no CREA) e que estejam cursando alguma pós-graduação na área para auxiliar o discente da graduação com apoio do docente responsável pela disciplina e/ou projeto.
UP HOUSE STUDENT é uma API para área da construção civil voltada ao público de baixa renda.
Esse projeto foi desenvolvido utilizando a aquitetura MVC, onde pode ser visto na pasta src.
Para acessar essa aplicação utilizar o host: http://uphouse.herokuapp.com.br
Rotas de usuários:
| Método HTTP | Endpoint | Descrição |
|---|---|---|
| GET | /users/all |
Retorna todos os cadastrados |
| GET | /users/userId/:id |
Retorna usuário por Id |
| POST | /users/create |
Cria um usuário |
| POST | /users/login |
Autentica o usuário |
| PATCH | /users/update/:id |
Altera informações do usuário com base no ID |
| DELETE | /users/delete/:id |
Remove o usuário com base no ID da criação |
| Método HTTP | Endpoint | Descrição |
|---|---|---|
| GET | /upHouse/all |
Retorna todas as solicitações cadastradas |
| GET | /upHouse/category |
Retorna solicitações por categorias |
| POST | /upHouse/create |
Cria uma solicitação |
| PATCH | /upHouse/update/:id |
Altera informações da solicitação com base no ID da criação |
| DELETE | /upHouse/delete/:id |
Remove uma solicitação com base no ID da criação |
Modelo de usuário
Informações para criar usuário:
{
"name": "Carol Marquezini",
"email": "marquezini@email",
"telephone": 123456789,
"password": "12345"
}Retorno do modelo usuário:
{
"message": "Usuário criado com sucesso",
"savedUser": {
"name": "Carol Marquezini",
"email": "marquezini@email",
"telephone": 123456789,
"password": "$2b$10$41ktnCY4SKSM6GyfzKmo0.gWAm0Lj.otLjU6PNEJj10cw9Ty.JUe.",
"createAt": "2022-07-30T00:56:25.644Z",
"_id": "62e482fb38d566107904747b"
}
}Modelo de solicitação
Informações para criar uma solicitação de serviço:
{
"userId": "62e482fb38d566107904747b",
"category": {
"budget": false,
"topography": false,
"fundation": false,
"electrical": true,
"hydraulic": false
},
"description": "Solicito auxilio com a parte elétrica de uma área da residência."
}Retorno do modelo da solicitação:
{
"message": "Solicitação criada com sucesso",
"savedUpHouse": {
"user": {
"_id": "62e482fb38d566107904747b",
"name": "Carol Marquezini",
"email": "marquezini@email",
"telephone": 123456789,
"password": "$2b$10$41ktnCY4SKSM6GyfzKmo0.gWAm0Lj.otLjU6PNEJj10cw9Ty.JUe.",
"createAt": "2022-07-30T00:56:25.644Z"
},
"category": {
"budget": false,
"topography": false,
"fundation": false,
"electrical": true,
"hydraulic": false
},
"description": "Solicito auxilio com a parte elétrica de uma área da residência.",
"createAt": "2022-07-30T02:38:41.660Z",
"_id": "62e49a38d0e8b497bb90a52b"
}
}- Bcryptjs - Bcryptjs auxilia criptografar senhas com hash;
- Cors - Cors permite o compatilhamento de dados entre diferentes origens;
- Dotenv-safe - Serve para carregar as variáveis de ambiente de um arquivo
.env; - Express - O framework para Node.js que fornece recursos mínimos para construção de servidores web;
- Jsonwebtoken - Jsonwebtoken cria caracteres codificados e atraves dele o servidor que conhece o código consegue ler o conteudo do token por meio da autenticação;
- Mongoose - Mongoose é uma biblioteca que gerencia e relaciona dados.
- Jest - Jest é uma estrutura de test js, através dele é possível realizar os testes;
- Nodemon - Nodemon ajuda no desenvolvimento de sistemas com o Node. js reiniciando automaticamente o servidor;
- Supertest - SuperTest automatiza a realização dos testes.
-
git clone - Clonar o projeto: abra o terminal onde deseja criar uma pasta para armazenar este projeto e execute o seguinte comando
$ mkdir nomePasta $ cd nomePasta $ git init $ git clone https://github.com/carolmarquezini/upHouse.git -
npm install - Escreva a seguinte linha para instalar as dependências utilizadas nesse projeto:
$ npm install
-
npm run dev nicie o servidor, utilizando a frase:
$ npm run dev
- Conexão direta entre solicitante e universidade;
- Controle de fluxo da solicitação (não atendida, em andamento e concluida);
- Teste unitário;
- Autenticação de todas as rotas.


