Skip to content

code-front-braga/link-shortener

Repository files navigation

Encurtador de URLs Minimalista

Este é um projeto de um encurtador de URLs simples e funcional, construído com Next.js, React, Prisma e PostgreSQL.

Veja o projeto

Funcionalidades Atuais

  • Encurtamento de URLs: Permite aos usuários inserir um URL longo e obter um link curto único.
  • Redirecionamento: Ao acessar o link curto, o usuário é automaticamente redirecionado para o URL original.
  • Código Curto Personalizado (Opcional): Os usuários podem fornecer um código curto desejado (se disponível).
  • Validação de URL: O formulário no frontend realiza a validação básica do formato da URL.
  • Cópia para o Clipboard: Um botão permite copiar facilmente o URL encurtado para a área de transferência.
  • Interface de Usuário: Uma interface simples e intuitiva para encurtar URLs.

Tecnologias Utilizadas

  • Frontend:
    • Next.js (Framework React para aplicações web com renderização server-side e rotas de API)
    • React (Biblioteca JavaScript para construção de interfaces de usuário)
    • react-hook-form (Para gerenciamento de formulários)
    • zod (Para validação de dados)
    • axios (Para fazer requisições HTTP)
    • Tailwind CSS (Para estilização)
    • Shadcn UI (Para componentização)
    • react-icons (Para ícones)
    • react-spinners (Para indicadores de carregamento)
  • Backend:
    • Next.js (Rotas de API)
    • Prisma (ORM para acesso ao banco de dados)
    • PostgreSQL (Banco de dados relacional)
    • nanoid (Para geração de códigos curtos únicos)
    • bcryptjs (Para hashing de senhas - futura funcionalidade de autenticação)
  • Deploy:

Próximos Passos (Em Desenvolvimento)

  • Implementação de autenticação de usuários para uma área administrativa.
  • Criação de uma interface administrativa para visualizar métricas de cliques dos links.
  • Refinamento da lógica e validação para códigos curtos personalizados.
  • Possível implementação de proteção de links (senha ou privacidade).
  • Possível coleta de informações de análise de cliques.

Como Executar Localmente

  1. Clone o repositório:

    git clone https://github.com/code-front-braga/link-shortener.git
  2. Instale as dependências:

    npm install
    # ou
    pnpm install
  3. Configure as variáveis de ambiente:

    • Crie um arquivo .env.local na raiz do projeto.
    • Adicione as seguintes variáveis (ajuste conforme sua configuração local):
      DATABASE_URL="sua_url_de_conexao_postgresql"
      HOST_URL="http://localhost:3000"
      
      Lembre-se de configurar corretamente a sua conexão com o PostgreSQL.
  4. Execute as migrations do Prisma:

    npx prisma migrate dev
    # ou
    pnpm prisma migrate dev
  5. Inicie o servidor de desenvolvimento:

    npm run dev
    # ou
    pnpm dev
  6. Abra seu navegador em http://localhost:3000 para ver a aplicação rodando localmente.

Status do Projeto

Em desenvolvimento.

About

Encurtador de URL. Next.js, Axios, TypeScript, Prisma and PostgreSQL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published