https://github.com/mpankajarun/url-shortner-with-mean-stack
This project is a URL shortening service built using Node.js, Express, MongoDB and Angular (MEAN stack).
https://github.com/mpankajarun/url-shortner-with-mean-stack
angularjs mean-stack mongodb nodejs url-shortener
Last synced: about 2 months ago
JSON representation
This project is a URL shortening service built using Node.js, Express, MongoDB and Angular (MEAN stack).
- Host: GitHub
- URL: https://github.com/mpankajarun/url-shortner-with-mean-stack
- Owner: MPankajArun
- Created: 2018-01-09T06:40:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-15T13:13:07.000Z (over 7 years ago)
- Last Synced: 2025-01-10T14:24:31.491Z (3 months ago)
- Topics: angularjs, mean-stack, mongodb, nodejs, url-shortener
- Language: JavaScript
- Size: 2.94 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# URL Shortner with MEAN Stack
##Summary
This project is a URL shortening service similar to sites like bitly.com using Node.js, Express, MongoDB and Angular (MEAN stack). Express will be used to handle our routing and redirection, while MongoDB takes care of storing and looking up the shortened links.##Requirement
- Node.js backend with Express and MongoDB
- AngularJS frontend
- Modular Angular components (controllers, services)##Target
At a high level, the URL shortener works by taking a long URL and applying a hashing algorithm to spit out a shorter version of the URL and stores them in a database for later lookup.- long URL -> short URL
- short URL -> long URLConverting a unique integer ID (which is in base10) to it's equivalent in base59. The base59 alphabet we will be using is: `0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`. It is just the numbers `0-9`, `a-z`, and `A-Z`, giving us a total of 59 characters, hence the 59 in base59. We are excluding `l`, `O` to avoid confusion when sharing the URL over the phone or copying it manually.
##Application Structure
```
- app
---- data.js
---- rules.js
---- db.js
---- startup.js
- node_modules
- public
---- css
---- js
-------- shared
-------- app.js
---- fonts
- views
---- index.html
- package.json
- server.js
```##Usage
Please go to [this site](#)