Executando verificação de segurança...
9

Desenvolvi um backend de um encurtador de url - saindo da zona de conforto!

Recentemente finalizei mais um projeto de aprendizado para sair um pouco da zona de conforto e continuar aprendendo!
Dessa vez, desenvolvi um backend de um encurtador de URLs usando Fastify, PrismaORM, PostgreSQL, Docker, Docker Compose e, pela primeira vez, Redis para cache, NGINX como proxy reverso e balanceador de carga.

O foco desse projeto foi aprender e testar novas tecnologias, principalmente aperfeiçoar meu conhecimento em Docker e PrismaORM, entender melhor o funcionamento do Redis e experimentar o NGINX, que eu nunca tinha usado antes.

Sou programador backend, e acredito que para evoluir é importante entender bem todo o ecossistema que envolve o backend — desde o banco de dados até a infraestrutura.
O projeto ficou incompleto de propósito, porque a ideia aqui não era entregar algo complexo com login com autencicação e tudo mais, mas sim me aprofundar nas tecnologias que ainda não domino totalmente ou não tenho experiencia. Fazer só o que eu já sei seria desnecessário, até mesmo usando o Fastify que tambem não tenho muita experiencia, já que utilizo bem mais Express.

Durante o desenvolvimento, aprendi bastante sobre cache com Redis, comunicação entre containers, configuração de proxy reverso e o impacto que cada parte tem na performance de uma aplicação.

https://github.com/Kadu-H/url-shortener

Se puder dar uma olhada e deixar qualquer tipo de feedback, ficarei muito feliz!
Pode ser sobre boas práticas, organização, performance ou arquitetura — toda opinião é bem-vinda.
Estou em busca da minha primeira oportunidade como desenvolvedor backend, e acredito muito na troca de experiências como forma de crescimento.

Carregando publicação patrocinada...
3

Massa! Anos atrás precisei desenvolver um encurtador url por causa de uma nececssidade especifica, hoje em dia nem preciso mais, contudo não tirei do ar, e recentemente até fiz uma melhoria de interface.

https://urlpp.com.br

A minha necessidade na época foi: A API de Pagamentos da REDE só devolve algumas informações via POST no callback para aplicação. Contudo, a url a de callback não poderia passar de 30 caracteres, e como minha aplicação é onprimisse as urls dos clientes sempre eram maior do que isso.

O que eu teria que fazer era criar um "motor" pra verificar se a informação já foi liberada e consultar, ou ter um encurtador de url que "lê-se" campos chegavam via post e me reencaminha-se.

Por mais incrivel que paraça não achei nenhum encurtador url que fizesse isso, então fiz o meu.

2

Show, que projeto incrível! Um encurtador sob medida, gosto muito quando projetos surgem de nossas necessidades reais, massa demais.

Vi no site que você tem uma empresa de software, que bacana! meu sonho é também um dia ter uma empresa de software e viver disso.

Se não se importar, vou deixar o link do meu LinkedIn novo, se quiser mandar uma solicitação de conexão pra gente trocar uma ideia depois sobre sobre projetos e softwares.
Kadu-Dev

2

Não teve problemas com bots e links "problemáticos"? Eu tinha um encurtador grátis, galera criou tantos links de vírus, que recebi denuncias e decidi fechar a criação publica. :(

1

Que engraçado, também montei um encurtador de url ontem, fiz o deploy hoje, e comecei a tentar montar um frontend. (https://github.com/RodrigoLMarques/url-shortener-api)

Dei uma olhada aqui, e ficou legal demais, está containerizado, implementou cache, testou o nginx. Esse é um bom projeto para treinar mesmo.

Recomendo apenas estudar mais sobre:

  • Estrutura de projeto MSC (Model, Service, Controller)
  • Docker compose
  • Validação de dados em APIs
  • Poderia ter implementado um endpoint de redirecionamento usando o http status 301