GithubHelp home page GithubHelp logo

url_shortener's Introduction

Encurtador URL 🔗

Projeto realizado para atender os requisitos do bootcamp da Eduzz oferecido pela Digital Innovation One.

Instalação 💿

Para instalar e rodar o Encurtador de URL é necessário seguir os seguintes passos:

  1. Acesse o link do repositório no Github, Encurtador de URL;

  2. Copie o link (aconselhável utilizar o SSH) para clonar o repositório para sua máquina:

    1. $ git clone [email protected]:paulomellodev/url_shortener.git
      
  3. Após baixar o repositório, entre na pasta:

    1. $ cd url_shortener
      
  4. Para instalar todas as dependências necessárias, basta rodar o comando abaixo:

    1. $ yarn
      
  5. Renomeie o arquivo .env.example para .env e altere as variáveis de ambiente que constam no arquivo de acordo com sua configuração:

    1.   PORT="Número da porta"
        DATABASE_URL="URL do Database"
        API_URL="URL da API, a porta da API deve ser a mesma da variável 'PORT'"
      
  6. Estamos utilizando o MongoDB, sendo assim, será necessário alguma familiaridade com este banco de dados.

  7. A partir daqui, seu projeto está pronto para rodar.

Utilizando o projeto 💻

Para rodar a aplicação, é necessário utilizar o comando:

    $ yarn dev

A aplicação rodará na rota: http://localhost:PORT/

Endpoints da aplicação

Para testar a aplicação, é necessário utilizar um API Client, como o Insomnia, Thunder Client ou similares.

POST /shorten

Criará e retornará a url encurtada

  1. Reponse: status code -> 201

    Exemplo do Retorno da API com dados:

    {
      "_id": "623360eff383d2cf8c2d30c8",
      "hash": "yhq31_MLs",
      "originalURL": "https://github.com/paulomellodev/url_shortener",
      "shortUrl": "http://localhost:3000/yhq31_MLs",
      "__v": 0
    }
  2. Reponse: status code -> 401 (Forbidden)

    Exemplo do Retorno da API com dados:

    {
      "_id": "623360eff383d2cf8c2d30c8",
      "hash": "yhq31_MLs",
      "originalURL": "https://github.com/paulomellodev/url_shortener",
      "shortUrl": "http://localhost:3000/yhq31_MLs",
      "__v": 0
    }

GET /str:hash/

Redirecionará para a página original caso o HASH fornecido seja encontrada.

  1. Response: status code -> 302 Exemplo da rota - /623360eff383d2cf8c2d30c8:

  2. Response: status code -> 404 (Not Found) Exemplo da rota - /623360eff3c8:

{ "error": "URL not found" }

Tecnologias utilizadas 🔧

  • NodeJS
  • MongoDB
  • Typescript
  • Express

url_shortener's People

Contributors

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