Skip to content

Dannick10/Backend-ykminiurl

Repository files navigation

banner

🛠️ YKMiniURL — Backend API

API responsável por gerenciar o encurtamento de URLs, proteção por senha e análise de métricas do sistema YKMiniURL.


🚀 Sobre o Projeto

O backend do YKMiniURL foi desenvolvido para fornecer uma API robusta, segura e escalável para gerenciamento de links encurtados.

Com ele é possível:

  • 🔗 Encurtar URLs longas
  • 🔐 Proteger links com senha
  • 📊 Acompanhar estatísticas de acesso
  • ⚡ Redirecionar links curtos rapidamente

A API foi construída com foco em segurança, desempenho e simplicidade de integração.


🌐 Aplicação

Frontend

O frontend do sistema foi desenvolvido utilizando Next.js, TypeScript e TailwindCSS.

🌐 Aplicação online https://ykminiurl.vercel.app/

💻 Repositório do frontend https://github.com/Dannick10/frontend-ykminiurl


🛠️ Tecnologias Utilizadas

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Bcrypt
  • CORS
  • Swagger

Frontend

  • Next.js
  • TypeScript
  • TailwindCSS

Design

  • Figma
  • Photoshop

⚙️ Instalação

Clone o repositório:

git clone https://github.com/Dannick10/backend-ykminiurl.git

Entre na pasta do projeto:

cd backend-ykminiurl

Instale as dependências:

npm install

Crie um arquivo .env com as variáveis necessárias:

PORT=3000
MONGO_URI=sua_string_do_mongodb

Execute o servidor:

npm run dev

📚 Endpoints da API

🔗 Encurtar um link

POST /shortlink

Exemplo de requisição:

{
  "url": "https://exemplo.com",
  "password": "minhasenha"
}

Resposta:

{
  "message": "link encurtado com sucesso",
  "shortUrl": "lkllz"
}

🔗 Redirecionar um link

GET /getlink/{shortlink}

Resposta:

{
  "shortUrl": "lkllz",
  "url": null,
  "security": true
}

🔗 Informações do link

POST /info

Exemplo:

{
  "shortUrl": "string",
  "password": "string"
}

Resposta:

{
  "originalUrl": "www.github.com",
  "shortUrl": "lkllz",
  "clicks": 0,
  "createdAt": "2024-12-22T17:02:36.387Z"
}

🔗 Autorizar acesso ao link

POST /password

Exemplo:

{
  "shortUrl": "string",
  "password": "string"
}

Resposta:

{
  "shortUrl": "lkllz",
  "url": "www.github.com",
  "security": true
}

📖 Documentação da API

A API possui documentação interativa utilizando Swagger, permitindo explorar e testar os endpoints diretamente no navegador.

🔗 Documentação da API https://backend-ykminiurl.onrender.com/docs


🎯 Funcionalidades da API

  • Criar links curtos
  • Proteger links com senha
  • Visualizar estatísticas de acesso
  • Redirecionar URLs
  • Integração fácil com aplicações frontend

🔮 Funcionalidades Futuras

  • 🚨 Sistema de report de URLs maliciosas
  • 📱 QR Code para links encurtados

📬 Contato

🌐 Portfólio https://dannickportifolio.vercel.app/

💻 GitHub https://github.com/Dannick10

✉️ Email ykdanieldev@gmail.com


📄 Licença

Este projeto está licenciado sob a MIT License.


Desenvolvido com foco em inovação e produtividade por Daniel Rocha



About

API REST para encurtamento de URLs com proteção por senha e analytics de cliques. Desenvolvida com Node.js, Express e MongoDB.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors