Loading repository data…
Loading repository data…
PabloXT14 / repository
Este é o repositório do back-end da aplicação Rocketnotes, sendo está uma aplicação web na qual os usuários podem se cadastrar e criar de forma organizada anotações sobre determinados assuntos.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Este é o repositório do back-end da aplicação Rocketnotes (link do front-end), sendo está uma aplicação web na qual os usuários podem se cadastrar e criar de forma organizada anotações sobre determinados assuntos, tendo disponível a adição de titulo, descrição, links e tags para cada nota, além de contar a edição de perfil do usuário, podendo alterar seu avatar, nome, email e senham, entre outras funcionalidades.
Vale ressaltar que este projeto faz parte da trilha/curso Explorer oferecida pela Rocketseat para quem tiver interesse.
O acesso ao deploy da API fica disponível através da seguinte URL base: https://rocketnotes-api-epnx.onrender.com
Obs: a aplicação pode demorar um pouco para entrar na primeira execução depois de um tempo, devido ao back-end estar rodando através do plano gratuito na plataforma de hospedagem.
Antes de baixar o projeto você vai precisar ter instalado na sua máquina as seguintes ferramentas:
Além disto é bom ter um editor para trabalhar com o código como VSCode
# Clone este repositório
$ git clone git@github.com:pabloxt14/Rocketnotes-API.git
# Acesse a pasta do projeto no terminal/cmd
$ cd Rocketnotes-API
# Configure as variáveis de ambiente em um arquivo .env na raiz do projeto (use o arquivo .env.example como base)
# Instale as dependências
$ npm install
# Execute as migrations
$ npm run migrate:dev
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
# O servidor inciará na porta:3333 - acesse http://localhost:3333
# Executar testes (caso queira)
$ npm test
| Método | Rota | Descrição | Parâmetros | Observação |
|---|---|---|---|---|
| POST | /sessions |
| Retorna os dados de autenticação de um usuário existente |
email, password |
enviar parâmetros no body |
| GET | /users | Retorna um usuário específico | token | enviar token de autenticação no header |
| POST | /users | Cria um novo usuário | name, email, password | enviar parâmetros no body da requisição |
| PUT | /users | Atualiza um usuário específico | token, name, email, password, newPassword(opcional) | enviar token pelo header e o restante no body |
| PATCH | /users/avatar | Atualiza o avatar de um usuário específico | token, avatar | enviar token pelo header e o avatar no formato multipart |
| GET | /notes | Retorna todas as notas de um usuário | token | enviar token de autenticação no header |
| GET | /notes:id | Retorna uma nota específica | id, token | enviar token pelo header e id pela rota |
| POST | /notes | Cria uma nota | title, description, tags(array, optional), links(array, optional) | enviar token pelo header e o restante no body |
| DELETE | /notes/:id | Deleta uma nota específica | id, token | enviar token pelo header e id pela rota |
| GET | /tags | Retornas as tags criadas por um usuário | token | enviar token de autenticação no header |
| GET | /files/:filename | Retorna arquivos de avatar | filename | enviar filename pela rota |
Obs: todos os parâmetros enviados e respondidos no corpo da requisição e resposta estão no formato
JSON.
As seguintes ferramentas foram usadas na construção do projeto:
Para mais detalhes das dependências gerais da aplicação veja o arquivo package.json
Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais informações
Feito com 💜 por Pablo Alan 👋🏽 Entre em contato!