Este é um projeto de encurtamento de URL desenvolvido como parte da aula prática gratuita da Rocketseat sobre programação. O objetivo deste projeto é construir um sistema de encurtamento de URL completo, incluindo a capacidade de encurtar URLs, monitorar métricas de cliques nos links e demonstrar habilidades em back-end utilizando Node.js, Fastify, PostgreSQL, Redis, TypeScript e Docker.
- Encurtamento de URLs longas para URLs curtas.
- Redirecionamento de URLs curtas para suas respectivas URLs originais.
- Monitoramento de métricas de cliques nos links encurtados.
- Interface de API para interação com o sistema.
Certifique-se de ter as seguintes ferramentas instaladas em seu sistema:
- Node.js
- Docker
- npm ou yarn
- PostgreSQL
- Redis
- Clone este repositório para o seu ambiente local.
- Execute
npm install
ouyarn install
para instalar as dependências do projeto. - Crie um arquivo
.env
na raiz do projeto e configure as variáveis de ambiente necessárias. Você pode seguir o exemplo do arquivo.env.example
. - Execute o comando
npm run dev
ouyarn dev
para iniciar o servidor de desenvolvimento.
Certifique-se de ter o PostgreSQL e o Redis em execução em sua máquina local e configurados corretamente conforme especificado no arquivo .env
.
Após a configuração e inicialização do servidor, você pode começar a interagir com a API para encurtar URLs e visualizar métricas de cliques.
Envie uma solicitação HTTP POST para /shorten
com o seguinte corpo JSON:
{
"url": "URL_LONGA_A_SER_ENCURTADA"
}
A resposta conterá a URL encurtada.
Acesse a URL encurtada fornecida pelo sistema para ser redirecionado para a URL original.
Envie uma solicitação HTTP GET para /metrics/:shortCode
, onde :shortCode
é o código da URL encurtada. Isso retornará as métricas de cliques para essa URL específica.
Contribuições são bem-vindas! Se você quiser melhorar este projeto, sinta-se à vontade para abrir um problema ou enviar uma solicitação de pull request.
Este projeto é licenciado sob a Licença MIT.