Skip to content

🚀 Encurtador de URL simples e eficiente usando Django REST Framework. Converta URLs longas em links curtos e acompanhe os acessos. 🔗 #Django #DRF #API

License

Notifications You must be signed in to change notification settings

gabrielmrts/python-django-url-shortener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Encurtador de URL com Django REST Framework

Sobre o Projeto

Este projeto é uma API de encurtamento de URLs desenvolvida com Django REST Framework. Ele permite que os usuários enviem uma URL longa e obtenham uma versão encurtada, além de redirecionar os acessos para a URL original e contar o número de acessos.

Tecnologias Utilizadas

  • Python 3.13
  • Django 3.13
  • Django REST Framework
  • SQLite (padrão, mas pode ser alterado para PostgreSQL ou MySQL)

Como Rodar o Projeto

1. Clonar o Repositório

git clone https://github.com/gabrielmrts/python-django-url-shortener.git
cd python-django-url-shortener

2. Criar um Ambiente Virtual e Ativá-lo

python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate  # Windows

3. Instalar as Dependências

pip install -r requirements.txt

4. Criar o Banco de Dados

python manage.py migrate

5. Rodar o Servidor

python manage.py runserver

Endpoints da API

1. Encurtar uma URL

Endpoint: POST /api/urls/

Corpo da Requisição (JSON):

{
  "original_url": "https://www.exemplo.com"
}

Resposta de Sucesso (JSON):

{
  "short_code": "abc123",
  "original_url": "https://www.exemplo.com",
  "created_at": "2025-02-25T12:00:00Z",
  "access_count": 0
}

2. Redirecionar para a URL Original

Endpoint: GET /api/urls/{short_code}/

Exemplo:

GET http://127.0.0.1:8000/api/urls/abc123/

Resposta de Sucesso:

{
  "redirect_to": "https://www.exemplo.com"
}

Erro se o código não existir:

{
  "error": "URL not found."
}

Estrutura do Projeto

shortener/
│── shortener/
│   ├── migrations/
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── models.py
│   ├── serializers.py
│   ├── services.py
│   ├── tests.py
│   ├── urls.py
│   ├── views.py
│── app/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── wsgi.py
│── manage.py
│── README.md
│── requirements.txt

Melhorias Futuras

  • Adicionar suporte a usuários e autenticação
  • Criar um painel de administração para visualizar estatísticas
  • Implementar tempo de expiração para links encurtados
  • Suporte para customização de códigos curtos

Licença

Este projeto está licenciado sob a MIT License.

About

🚀 Encurtador de URL simples e eficiente usando Django REST Framework. Converta URLs longas em links curtos e acompanhe os acessos. 🔗 #Django #DRF #API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages