Skip to content

elizapimentel/Connectour

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Final Todas em Tech - { Reprograma }


Typing SVG


📄 Sumário



O Projeto


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.

Solução

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).


Apresentação

link


Funcionalidades


  • 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

Arquitetura MVC


├──📁 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
   

Rotas


O projeto foi estruturado seguindo modelo da estrura de Arquitetura de Software Rest/Restful, utilizando os protocolos HTTP - POST, GET, PUT, DELETE - CRUD.


Métodos POST/GET/PUT/DELETE - Usuários (user)


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étodos POST/GET/PUT/DELETE - Postagens (post)


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

Regras de Negócio


  • 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.

Dados para cadastro de usuários


    name : nome,
    surname : sobrenome,
    userName : nome de usuário
    county : município
    role : tipo de acesso
    registrationNumber : número de registro
    password : senha    

Como a API irá retornar

criando usuári postman

Dados para cadastro de atrativos


    city: cidade,
    attractionName: nome do atrativo,
    opening_hours: horário de funcionamento,
    address: endereço,
    description: descrição

Como a API irá retornar

criando postagem postman

Documentação da API

Para ver como resultam as pesquisas efetuadas no Postman, acesse esse link Postman


Tecnologias Utilizadas


Node.js Git NPM NPM


Banco de dados



Dependências do Projeto



Dependências de Desenvolvimento



Instalação


  1. Entre na pasta onde você deseja clonar o repositório. Abra o git nela e digite:

    $ git clone https://github.com/elizapimentel/Connectour.git
  2. Digite a linha abaixo para entrar na pasta correta:

     $ cd Connectour
  3. Escreva a seguinte linha para instalar as dependências utilizadas nesse projeto:

     $ npm install
  4. Inicie o servidor com o comando:

     $ npm run dev
  5. Para realizar a verificação dos testes da API utilize o comando:

    $ npm run test

Testando a API na sua máquina


Acesse na sua máquina através deste link:


e em seguida copie no


Ou siga este passo a passo:


  • 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:


Implementações futuras

  • 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

Licença


Este projeto está sob a licença MIT.


Agradecimentos


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 ❤️


Desenvolvedora


Eliza Pimentel ✨

Contatos:

Outlook Linkedin Badge




forthebadge

About

No description, website, or topics provided.

Resources

License

Stars

3 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages