PabloXT14 / Rocketnotes-API

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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rocketnotes API

GitHub language count GitHub Top Language Repository size GitHub last commit License Stargazers

🚀 Aplicação Finalizada 🚀

About | Deploy | How It Works | Technologies | Author | License

💻 About

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.


🔗 Deploy

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.


🚀 How it works

Pré-requisitos

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

🎲 Rodando o Backend (servidor)

# 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

Rotas

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.


🛠 Technologies

As seguintes ferramentas foram usadas na construção do projeto:

Server (NodeJS)

Para mais detalhes das dependências gerais da aplicação veja o arquivo package.json


✍ Author

Perfil Github

Linkedin Badge

Gmail Badge


📝 License

Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais informações

Feito com 💜 por Pablo Alan 👋🏽 Entre em contato!

About

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.

License:MIT License


Languages

Language:JavaScript 100.0%