Este é um projeto de um encurtador de URLs simples e funcional, construído com Next.js, React, Prisma e PostgreSQL.
- 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.
- 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:
- 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.
-
Clone o repositório:
git clone https://github.com/code-front-braga/link-shortener.git
-
Instale as dependências:
npm install # ou pnpm install
-
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):
Lembre-se de configurar corretamente a sua conexão com o PostgreSQL.
DATABASE_URL="sua_url_de_conexao_postgresql" HOST_URL="http://localhost:3000"
- Crie um arquivo
-
Execute as migrations do Prisma:
npx prisma migrate dev # ou pnpm prisma migrate dev
-
Inicie o servidor de desenvolvimento:
npm run dev # ou pnpm dev
-
Abra seu navegador em
http://localhost:3000
para ver a aplicação rodando localmente.
Em desenvolvimento.