Um encurtador de URL feito com Node.js + TypeScript.
É necessário possuir Docker.
PostgreSQL
docker run -p 5432:5432 -d \
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_DB=url_shortener_db \
-v pgdata:/var/lib/postgres/data \
postgres
Imagem do Projeto
docker build -t ts-url-shortener-image .
OBS: Eu tentei usar docker-compose porém não estava funcionando corretamente.
- PORT: padrão 3200
- DB_URL: string de conexão com o banco de dados, seguindo esse formato:
postgresql://<user>:<password>@<host>/<database>
, por exemplo postgresql://postgres:postgres@localhost/url_shortener_db
Produção:
npm i
npm run build
npm start
Desenvolvimento:
npm i
npm run dev
Faça uma requisição POST para o dominio, por exemplo http://localhost/encurtador
, com o body de
{
"url": "http://url.com"
}
e irá receber uma resposta com a url encurtada
{
"url": "http://localhost/abc123"
}
Acesse o link encurtado ou faça um requisição GET e será redirecionado ao link correto.
Você pode acessar a documentação da API atráves do caminho /docs
.
Para executar os testes
npm test
Testes unitários
npm run test:unit