Skip to content
This repository was archived by the owner on Jun 6, 2022. It is now read-only.

A modern, minimalist, and lightweight URL shortener using Node.js and Redis

License

zero-archive/node-url-shortener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node Url Shortener

A modern, minimalist, and lightweight URL shortener using Node.js and Redis.

Build Status GitHub tag Dependency Status

Using

Quick Start

$ git clone git@github.com:dotzero/node-url-shortener.git $ cd nus $ npm install $ node app

Command Line Options

$ node app -h Usage: app [options] Options: -u, --url Application URL [default: "http://127.0.0.1:3000"] -p, --port Port number for the Express application [default: 3000] --redis-host Redis Server hostname [default: "localhost"] --redis-port Redis Server port number [default: 6379] --redis-pass Redis Server password [default: false] --redis-db Redis DB index [default: 0] -h, --help Show help [boolean]

Installation on production

$ git clone git@github.com:dotzero/node-url-shortener.git nus $ cd nus $ npm install --production $ NODE_ENV=production node app --url "http://example.com"

RESTful API

POST /api/v1/shorten with form data long_url=http://google.com, start_date="", end_date="", c_new=false.

NOTE: You can send the post requests without the date and c_new params

POST /api/v1/shorten with form data long_url=http://google.com, start_date="2017/06/19", end_date="2017/06/20", c_new=true

The c_new paramter is do that it creates a new short url if one already exists for the url

{ "hash": "rnRu", "long_url": "http://google.com", "short_url": "http://127.0.0.1:3000/rnRu", "status_code": 200, "status_txt": "OK" }

GET /api/v1/expand/:hash with query rnRu

{ "start_date": "undefined", "end_date": "undefined", "hash": "rnRu", "long_url": "http://127.0.0.1:3000/rnRu", "clicks": "0", "status_code": 200, "status_txt": "OK" }

OR if dates are set

{ "start_date": "2017/06/19", "end_date": "2017/06/20", "hash": "rnRu", "long_url": "http://127.0.0.1:3000/rnRu", "clicks": "0", "status_code": 200, "status_txt": "OK" }

Tests

To run the test suite, first install the dependencies, then run npm test:

$ npm install $ npm test

License

Released under the MIT license

About

A modern, minimalist, and lightweight URL shortener using Node.js and Redis

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7