- O Projeto
- Funcionalidades
- Arquitetura MVC
- Rotas
- Regras de Negócio
- Dados para cadastro - Usuários
- Dados para cadastro - Postagens
- Documentação da API
- Tecnologias Utilizadas
- Banco de dados
- Dependências do Projeto
- Dependências do Desenvolvimento
- Instalação
- Testando a API
- Implementações Futuras
- Agradecimentos
- Contatos
A API Connectour, refere-se ao meu projeto final do Bootcamp Backend Todas em Tech { reprograma }.
A ideia do projeto surgiu devido a minha longa jornada no setor de Turismo e da minha experiência trabalhando no setor público.
Desta vivência, verifiquei que um grande entrave para os funcionários dos Centros de Atendimento ao Turista (CAT) é a comunicação com outros funcionários de outros municípios e o acesso à informações atualizadas e seguras de funcionamento e, as vezes até, da existência de seus atrativos turísticos. Dificuldade esta que prejudica tanto na qualidade do atendimento, quanto na geração de renda para o Estado, pois através da qualidade e precisão das informações que o turista recebe mais tempo ele irá se dispor a permancer no local e/ou voltar para conhecer melhor outras regiões do Estado.
Esta dificuldade de acesso à informações intermunicipais acontece na maioria dos Estados brasileiros.
O projeto consiste em cadastrar informações dos atrativos turísticos pelos funcionários dos centros destinados ao turista de cada município, com intuito de conectá-los, vizando uma maior interação entre eles e, consequentemente, proporcionar melhor atendimento ao seu público (seja ele turista ou moradores da região).
- Efetuar cadastro das equipes das Secretarias como administradores.
- Efetuar cadastro dos atendentes dos CATs como user.
- Cadastrar as informações dos atrativos turísticos do seu município
├──📁 CONNECTOUR
├──📁 src
| ├─📁 config
| | └─📄mongoConfig.js
│ ├─📁controllers
│ │ └─📄login.js
| | └─📄postController.js
| | └─📄userController.js
| ├─📁middleware
│ │ └─📄auth.js
| | └─📄roles.js
| ├─📁models
│ │ └─📄postSchema.js
| | └─📄userSchema.js
│ ├─📁routes
│ | └─📄indexRouter.js
| | └─📄postRouter.js
| | └─📄userRouter.js
| ├─📁test
│ | └─📄api.users.test.js
| └─📄app.js
├─📄.env.example
├─📄.gitignore
├─📄 LICENSE
├─📄 Procfile.js
├─📄 README.md
├─📄 package-lock.json
├─📄 package.json
└─📄 server.js
O projeto foi estruturado seguindo modelo da estrura de Arquitetura de Software Rest/Restful, utilizando os protocolos HTTP - POST, GET, PUT, DELETE - CRUD.
| Método | Rota | Descrição |
|---|---|---|
POST |
localhost:8090/user/signup | Cadastra novos usuários |
POST |
localhost:8090/user/login | Permite acesso a usuários cadastrados |
GET |
localhost:8090/user/all | Lista de todos os usuários |
GET |
localhost:8090/user/regnumber | Busca usuário por número de registro |
PUT |
localhost:8090/user/update/:id | Atualizar os dados dos usuários buscando por ID |
PUT |
localhost:8090/order/updatePassword/:id | Atualizar senha do usuário buscando por ID |
DELETE |
localhost:8090/user/delete/:id | Deletar registro de usuário buscando por ID |
| Método | Rota | Descrição |
|---|---|---|
POST |
localhost:8090/post/create | Cadastrar atrativos |
GET |
localhost:8090/post/all | Lista de todos posts cadastrados |
GET |
localhost:8090/post/name | Busca por nome do atrativo ou município |
PUT |
localhost:8090/post/update/:id | Atualizar informações da postagem buscando por ID |
DELETE |
localhost:8090/post/delete/:id | Deletar postagem buscando por ID |
- Só quem pode cadastrar, editar e deletar usuários são pessoas com acesso de admin.
- Só quem pode deletar postagens são pessoas com acesso de admin.
- Não será possível haver mais de um usuário com o mesmo número de registro (regnumber).
- Pessoas cadastradas como user poderão editar apenas suas senhas.
- Usuários com acesso user poderão criar e editar seus próprios posts e apenas ver os posts de outros usuários.
- Todos os itens para cadastro de usuário e atrativos são obrigatórios.
name : nome,
surname : sobrenome,
userName : nome de usuário
county : município
role : tipo de acesso
registrationNumber : número de registro
password : senha city: cidade,
attractionName: nome do atrativo,
opening_hours: horário de funcionamento,
address: endereço,
description: descriçãoPara ver como resultam as pesquisas efetuadas no Postman, acesse esse link Postman
-
Entre na pasta onde você deseja clonar o repositório. Abra o git nela e digite:
$ git clone https://github.com/elizapimentel/Connectour.git
-
Digite a linha abaixo para entrar na pasta correta:
$ cd Connectour -
Escreva a seguinte linha para instalar as dependências utilizadas nesse projeto:
$ npm install
-
Inicie o servidor com o comando:
$ npm run dev
-
Para realizar a verificação dos testes da API utilize o comando:
$ npm run test
e em seguida copie no
-
Importe a coleção para teste deste servidor clicando aqui !
-
Copie o link acima e, no Postman, clique em Import -> Link (cole o link) -> Continue -> Import.
-
Ou fork diretamente para o seu Postman através do link:
- Modificar algumas autorizações de ações de admin e user;
- Realizar teste da controller do post;
- Adicionar impedimento na repetição de senha em sua atualização;
- Adaptar a API para que possa ser utilizada por outros orgãos;
- Adicionar segmento de atrativo a ser cadastrado e pesquisa por segmento/descrição
Este projeto está sob a licença MIT.
Gostaria de agradecer a todas essas mulheres maravilhosas que fazem a Reprograma acontecer e que lutam para que tenhamos uma sociedade mais justa e igualitária.
Agradeço também pelas mulheres que, junto comigo, enfrentaram seus medos e inseguranças e aprenderam o poder da união e também de sermos individuais. #on15forever ❤️
Eliza Pimentel ✨
Contatos:


