GithubHelp home page GithubHelp logo

lafadovale / url-shortener Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 68 KB

Shrink your huge URLs to a short string and store them on a DB collection with this Node.JS API.

TypeScript 100.00%
node-js typescript mongodb mongoose express-js typegoose

url-shortener's Introduction

URL Shortener API

🇵🇹 Encurte suas URLs!

Crie uma hash exclusiva de 9 caracteres para cada URL e a mantenha armazenada em um banco de dados para reusá-la quando quiser.

Como Funciona

A API recebe requisições em protocolo HTTP via POST de qualquer URL no formato JSON.

Exemplo:

{
    "originURL": "https://www.tecmundo.com.br/minha-serie/228201-simpsons-especial-ned-flanders-ganha-trailer-assista.htm"
}

Com esse dado é criado e armazenado no banco de dados MongoDB Atlas um documento, contendo um ID único (este gerado pelo MongoDB), um hash de 9 caracteres (gerado pela API), a URL original que fora enviada na requisição e a URL abreviada. Este documento também é retornado em formato JSON ao cliente na resposta da requisição.

{"_id":{"$oid":"6189e1a3df40273a7c5c3117"},
"hash":"qBKKAgHIW",
"originURL":"https://www.tecmundo.com.br/minha-serie/228201-simpsons-especial-ned-flanders-ganha-trailer-assista.htm",
"shortURL":"http://localhost:3333/qBKKAgHIW",
"__v":{"$numberInt":"0"}}

Em caso de endereço inválido, o cliente recebe o status code 404.

Como Usar

  • Faça o clone do repositório para o seu diretório local de preferência.
  • Crie um banco de dados MongoDB em sua máquina local ou na nuvem. Este projeto foi criado com o MongoDB Atlas. (Por questões de segurança, as informações sensíveis do banco de dados usadas no projeto foram removidas do repositório).
  • Adicione a URL de conexão do seu banco de dados MongoDB Atlas (com sua senha e nome do seu banco de dados criado) ao arquivo /src/config/Constants.ts, como valor da chave MONGO_CONNECT.
export const config = {
 API_URL: "http://localhost:3333",
 MONGO_CONNECT:
   "Please create your own MongoDB Atlas Database and paste its URL between these quotes",
};
  • No terminal de comando, dentro de seu repositório local, execute os scripts abaixo em duas abas separadas:
$ npm run buildwatch
$ npm run dev
  • Execute as requisições através de sua plataforma de API favorita (Postman, Insomnia, etc.) ou através de sua aplicação front-end.

Espero que goste!

Tecnologias Utilizadas

url-shortener's People

Contributors

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