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 🚀
As seguintes tecnologias e ferramentas foram utilizadas neste projeto: TypeScript, ExpressJS, TypeORM, MongoDB, Insomnia, Heroku, Swagger
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).
Tipo | Rota | Ação |
---|---|---|
/auth/authentication |
Autenticação de usuários | |
/auth/authorization |
Autorização de usuários |
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 |