GithubHelp home page GithubHelp logo

gabriel-jm / ts-url-shortener Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.8 MB

A Node.js + TypeScript URL Shortener

TypeScript 96.04% JavaScript 2.21% Dockerfile 1.21% Shell 0.54%
url-shortener url-encurtada node-typescript

ts-url-shortener's Introduction

TypeScript URL Shortener

Um encurtador de URL feito com Node.js + TypeScript.

Instalação

É 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.

Variáveis de ambiente

  • 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

Executando

Produção:

  npm i
  npm run build
  npm start

Desenvolvimento:

  npm i
  npm run dev

Utilização

Gerando a URL encurtada

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"
  }

Acessando a página

Acesse o link encurtado ou faça um requisição GET e será redirecionado ao link correto.

API Docs

Você pode acessar a documentação da API atráves do caminho /docs.

Testes

Para executar os testes

  npm test

Testes unitários

  npm run test:unit

ts-url-shortener's People

Contributors

gabriel-jm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.