Git Product home page Git Product logo

help-duck-authentication's Introduction

Microsserviço para autenticação de usuários

Esta API, que permite a atenticação e autorização dos usuários na plataforma, foi desenvolvida visando sua utilização no projeto "Help Duck" (mais informações vide este link).

Aplicação desenvolvida por alunos do 3º semestre do tecnólogo em Desenvolvimento de Software Multiplataforma, na FATEC Profº Jessen Vidal - São José dos Campos, SP 🚀

🛠️ Tecnologias

As seguintes tecnologias e ferramentas foram utilizadas neste projeto: TypeScript, ExpressJS, TypeORM, MongoDB, Insomnia, Heroku, Swagger

⚙️ Como utilizar

Para consumir esta API, é preciso seguir o passo a passo abaixo ou utilizar a URL do serviço em nuvem (através deste link: https://help-duck-auth.herokuapp.com).

  • Tutorial para rodar o projeto

No arquivo .env.example, complete as variâveis com os valores abaixo e renomeie o arquivo para .env.

MONGODB_CLUSTER=mongodb+srv://<username>:<password>@cluster0.rpjin.mongodb.net/
PORT=<port ex:3000>

Para prosseguir, é preciso que todas as ferramentas necessárias estejam devidamente instaladas (Node, Git,...). Para conferir a instalação delas, acesse este tutorial, já para atualização das ferramentas acesse este link, e caso haja algum problema com essas instalações e/ou atualizações, acesse este FAQ. Após os downloads, baixe ou clone este repositório pelo terminal seguindo passo a passo descrito abaixo:

# Baixe este repositório ou clone pelo Git usando o comando:
$ git clone https://github.com/The-Bugger-Ducks/help-duck-authentication.git

# Acesse a pasta do projeto
$ cd help-duck-authentication

# Instale as dependências do projeto (são listadas no arquivo package.json)
$ yarn

# Execute o projeto
$ yarn dev

O servidor inciará localmente na porta 3000. Use o Insomnia para simular requisições e respostas das rotas (pelo link https://localhost:3000) ou utilize o projeto front-end do "Help Duck" para executar as funcionalidades da aplicação (acesse o repositório por este link).

🛤️ Rotas disponíveis

Tipo Rota Ação
/auth/authentication Autenticação de usuários
/auth/authorization Autorização de usuários

Explicação da estrutura das pastas

Pasta Definição
📂 node_modules/ Armazena as bibliotecas (dependências) usadas pelo projeto
📂 src/ @types Pasta para adicionar novas tipagens para os modulos do express ex: Request
📂 src/ app/ controllers Arquivos com os métodos de requisição das rotas
📂 src/ app/ models Arquivos considerados moldes/classes da aplicação
📄 src/ index.ts Arquivo inicializador dos modulos da aplicação ex: swagger, cors, servidor...
📄 src/ routes.ts Arquivos com os endpoints da aplicação para acesso dos metodos de autenticação e autorização
📄 src/ swagger.json Arquivo para documentação da aplicação atraves utilizando o swagger
📄 .env.example Arquivo para indicação de quais variáveis serão requisitadas no servidor
📄 procfile Arquivo requisitado pelo heroku para deploy da aplicação na plataforma na nuvem
📄 tsconfig.json Arquivo de configuração do typescript e estrutura de pastas, etc.
📄 package.json Arquivo usado para gerenciar as dependências do projeto, scripts e versões

help-duck-authentication's People

Contributors

gabrielcamargol avatar mariagabrielareis avatar thhenrique avatar

Watchers

 avatar

help-duck-authentication's Issues

[USUÁRIOS] login

🚀 Cadastro e login de usuários

O cliente deseja cadastro de 3 tipos de usuários: "comum", "suporte" e "administrador", para que cada perfil tenha suas funcionalidades personalizadas.

💡 Esta tarefa se refere à criação de funcionalidade que permita autenticação dos usuários na plataforma

Expectativa de finalização

Microsserviço com funcionalidade que permita aos usuários se autenticarem pela plataforma a partir da tela de login.

Informações adicionais: utilizar Node

Solução proposta

  • Criar função para geração de tokens a partir dos cargos de cada tipo de usuário
  • !! Persistência do token no banco de dados

Espaço para anotações do responsável pela tarefa

...

Capturas de tela (caso de tarefa com alteração no layout)

...


Definition of Done

  • Documentação
  • Verificar funcionamento (atender as expectativas para tarefa)
  • Code Review (abertura e aprovação de PR)
  • Validação do cliente (caso necessário)

[BACK] Deploy do serviço

🚀 Cadastro e login de usuários

O cliente deseja cadastro de 3 tipos de usuários: "comum", "suporte" e "administrador", para que cada perfil tenha suas funcionalidades personalizadas.

💡 Esta tarefa se refere à realização do deploy do micro serviço de autenticação e autorização de usuários na plataforma.

Expectativa de finalização

Disponibilidade do microsserviço de autenticação para realização de autenticação e autorização de usuários.

Informações adicionais: utilizar Node

Solução proposta

  • Criar função para geração de tokens a partir dos cargos de cada tipo de usuário
  • Conexão com o database (mongodb) para verificação de usuário

Espaço para anotações do responsável pela tarefa

Definition of Done

  • Documentação
  • Verificar funcionamento (atender as expectativas para tarefa)
  • Code Review (abertura e aprovação de PR)
  • Validação do cliente (caso necessário)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.