Devido a necessidade que encontrei morando sozinha, sempre tive dificuldade de executar certas atividades ou funções que requer algumas habilidades, tinha muitos problemas de encontrar pessoas que dispunha desses tipos de artifícios.
Com o aumento da crise e a taxa de desemprego resolvi unir o útil com o agradável, então para o projeto final desenvolvi uma API que irá unir a necessidade de alguns com a disponibilidade e habilidade de outras pessoas.
Sabendo que já existem projetos voltados para isto, também foi pensado que esta união seja feita dentro do seu bairro ou sua região .
Possibilitando o aumento do trabalho informal e gerando renda para pessoas que disponibilizam pouca, baixa ou nem uma.
Sendo também inclusivo, assim possibilitando que qualquer pessoa possa cadastrar suas habilidades independente de gênero, cabendo ao contratante se irá requerer ou não
API desenvolvida como Projeto Final para a conclusão do curso de Backend {Reprograma}
- [Apresentação](colocar o link da apresentação)
- Cadastro de pessoas solicitante
- Cadastro de pessoas prestadoras de serviços
- Possibilidade de cadastrar diversos serviços
- Gerar renda , aumentar renda de pessoas da comunidade
⚠️ O projeto final consiste em uma API fundamentada no CRUD. O CRUD é um acrônimo para Create(CRIAR), Read(LER-CONSULTAR), Update(ATUALIZAR) e Delete(DELETAR). São as 4 operações principais em um banco de dados. No MongoDB, usando o Mongoose aqui estão algumas formas de fazer:
OPERAÇÃO | MONGODB | MONGOOSE |
---|---|---|
CREATE |
insertOne() | save() |
READ |
find() | find() |
UPDATE |
updateOne() | save() |
DELETE |
deleteOne() | remove() |
Para a construção do projeto, as seguintes tecnologias foram utilizadas:
📁 Projeto-Final-Reprograma
|
|- 📁 src
| |
| |- 📁 controllers
| |- 📑 prof_contro.js
| |- 📑 user.js
|
| |- 📁 database
| |- 📑 configMong.js
|
| |- 📁helpers
| |- 📑auth.js
| |- 📁 models
| |- 📑 prof_model.js
| |- 📑 usuarios.js
|
| |- 📁 routes
| |- 📑 prof_route.js
| |- 📑 routes.js
|
| |- 📑 app.js
|
|
|- 📑 .env
|- 📑 .gitignore
|- 📑 package-lock.json
|- 📑 package.json
|- 📑 Procfile
|- 📑 README.md
|- 📑 server.js
Siga os passos e inclua as informações abaixo:
Passo | Comando/informação |
---|---|
Faça o fork | botão de forkar |
Faça o clone | git clone |
Instale as dependências | npm i |
Crie seu .env e inclua as variáveis e os valores | MONGODB_URL |
utilize o script de dev | npm dev |
MONGODB_URL = URL do MongoDb Atlas
Banco de dados orientado a documentos e interface na nuvem.
-
local: http://localhost:8084
Swagger - Heroku:
Método HTTP | Endpoint | Descrição |
---|---|---|
GET | http://localhost:8084api` | documentação swagger |
Método HTTP | Endpoint | Descrição |
---|---|---|
GET | '/ ' |
Retorna apresentação do API |
GET | '/all' |
Retorna lista de usuários cadastrados |
POST | '/login' |
Abrir aba de loguim |
Delete | '/delete/:id |
Deletar usuário |
POST | '/atualizar' |
Atualização de dados do usuário |
## 🔃 Manipulação das Rotas de usuários:
Método HTTP | Endpoint | Descrição |
---|---|---|
GET | '/prof' |
Apresentação da aba de profissões |
GET | '/criar' |
Cria um campo de profissão para o usuario |
GET | '/excluir/:id' |
Deleta profição post de profição |
POST | '/lista/:id' |
mostra lista de pessoas e profissões cadastradas |
- id: autogerado e obrigatório
- nome: texto e obrigatório
- email: texto e obrigatório
- password: texto e obrigatório
- bairro : texto obrigatório
- profissaoRefId : configMong e obrigatório
## ✔️ API deve retornar seguinte JSON:
{"_id": "61bc1398c23b79fb0b6d4e5d",
"nome": "ffff ",
"email": "fffff@gmail.com",
"password": "$2b$10$x1sGon6bKVXIiyYhBwWQ9OJvb9bjKnhIKJY.sAxrJjfuATmwWDsza",
"idade": 00,
"genero": "mulher",
"prestadorDeServico": true,
"pagamento": "pix",
}
- id: autogerado e obrigatório
- atividade: texto e obrigatório -diaria : boolean e obrigatório
- hora: boolean e obrigatório
- bairro : texto obrigatório
- agendarData: Date e obrigatório -agendarHorario: Number e obrigatório
{
"atividade": "programadora",
"diaria" : "true",
"hora" :"false",
"valor" : "150",
"agendarData" : "00" ,
"agendarHorario" : "00"
}
## 🚧 Projeto em Construção (futuras melhorias)
- Autenticação das Rotas;
- Sistema de login;
- Atualização na construções da API
- Licença
- Implantação de código HTML e CSS para criação de uma interface capaz de possibilitar a interação do usuário com aplicação.