url-shortener-2.0

URL Shortener is a tool to help you create simple and easy-to-remember custom links from long URLs and to also track link performance and impact.

https://github.com/johndamilola/url-shortener-2.0

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

URL Shortener is a tool to help you create simple and easy-to-remember custom links from long URLs and to also track link performance and impact.

Basic Info
  • Host: GitHub
  • Owner: JohnDamilola
  • License: mit
  • Language: TypeScript
  • Default Branch: main
  • Homepage:
  • Size: 6.51 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 6
  • Open Issues: 1
  • Releases: 2
Created over 3 years ago · Last pushed about 3 years ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

URL Shortener 2.0

DOI

Description

Do you wish you could convert your long urls to a short and easy-to-remember custom one, and also track the number of visits, and be in total control of your links (e.g. password-protect, disable/enable, set expiry dates). Also do you wish to track engagements using UTM parameters, then URL Shortener 2.0. is that tool you need.

Watch URL-Shortener-2.0 in Action

Feature Delta (changes) between Phase One and Phase Two

https://user-images.githubusercontent.com/17693596/205698074-88500484-e25a-44de-bebf-1c17ca358f13.mp4

Tech Stack

Getting started & Installation:

Demo Links

  • Backend Base API Endpoint URL: https://url-shortener-server-api.herokuapp.com/ Check out Docs
  • Frontend Web App: https://url-bit.web.app/

Some of our Current Screens

Screenshot 2022-12-05 at 21 55 01 Screenshot 2022-12-05 at 21 55 16 Screenshot 2022-12-05 at 21 56 24 Screenshot 2022-12-05 at 21 56 59

Phase 1 Features

  • Anonymous short links creation (without login)
  • Edit/Delete shortened links
  • Redirect shortened links to original links

Phase 2 Features

  • User authentication
  • Update and delete user account
  • Create Short links (from authenticated account) asides from anonymous
  • Edit/Delete shortened links (from authenticated account)
  • Track link engagement analytics - check number of visits of each shortened link
  • Set up UTM parameters for shortened link to track link engagements, medium, channels, source etc.
  • Set expiry date, Disable/Enable, Password protect created of each shortened link
  • Download QR code of each shortened links
  • Redirect shortened links to original links (both for anonymously created links & logged in user created ones)
  • View overview stats of all your links in one place

Future Scope

  • Display charts to show engagement analytics using UTM parameters
  • Bulk shortened links creation
  • Country/Region targeting
  • Link expiration by number of visits
  • Tags for links to organize them in dashboard

Scalability

See here

Contributions to the Project

Please refer to the Contributing.md if you want to contrbute to the FlashCards source code. Follow all the guidelines mentioned and raise a pull request for the developers to review before the code goes to the main source code.

Help

Email any queries to the contributors - 1. Swarangi Gaurkar 2. Kritika Javali 3. John Damilola 4. Aaron Dias Barreto 5. Leo Hsiang

Authors

  1. Kritika Javali
  2. Swarangi Gaurkar
  3. Aaron Dias Barreto
  4. Leo Hsiang
  5. Damilola Babalola

License

MIT

Funding

Our project at the moment is not funded by any organization/individual.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If the code for this repository is used, please cite it as below"
authors:
- family-names: "Javali"
  given-names: "Kritika"
- family-names: "Gaurkar"
  given-names: "Swarangi"
- family-names: "Dias Barreto"
  given-names: "Aaron"
- family-names: "Hsiang"
  given-names: "Leo" 
- family-names: "Babalola"
  given-names: "Damilola" 
title: "URL Shortner 2.0"
version: 1.0
doi: 10.5281/zenodo.7113667
date-released: 2022-11-13
url: "https://github.com/JohnDamilola/URL-Shortner-2.0"

GitHub Events

Total
  • Pull request event: 3
  • Fork event: 2
Last Year
  • Pull request event: 3
  • Fork event: 2

Dependencies

frontend/package.json npm
  • @testing-library/jest-dom ^5.14.1
  • @testing-library/react ^13.0.0
  • @testing-library/user-event ^13.2.1
  • @types/jest ^27.0.1
  • @types/node ^16.7.13
  • @types/react ^18.0.0
  • @types/react-dom ^18.0.0
  • react ^18.2.0
  • react-dom ^18.2.0
  • react-scripts 5.0.1
  • typescript ^4.4.2
  • web-vitals ^2.1.0
frontend/yarn.lock npm
  • 1192 dependencies
backend/requirements.txt pypi
  • Django ==3.2.15
  • Flask ==0.12
  • Flask-Bootstrap ==3.3.7.1
  • Flask-HTTPAuth ==3.2.2
  • Flask-Login ==0.4.0
  • Flask-Mail ==0.9.1
  • Flask-Migrate ==2.0.3
  • Flask-Moment ==0.5.1
  • Flask-PageDown ==0.2.2
  • Flask-SQLAlchemy ==2.1
  • Flask-SSLify ==0.1.5
  • Flask-Script ==2.0.5
  • Flask-WTF ==0.14.2
  • Jinja2 ==2.9.5
  • Mako ==1.0.6
  • Markdown ==2.6.8
  • MarkupSafe ==0.23
  • Pyrebase ==3.0.27
  • SQLAlchemy ==1.1.5
  • WTForms ==2.1
  • Werkzeug ==0.11.15
  • alembic ==0.8.10
  • asgiref ==3.3.4
  • attrs ==22.1.0
  • black ==22.8.0
  • bleach ==2.0.0
  • blinker ==1.4
  • click ==8.0.0
  • coverage ==6.5.0
  • django-cors-headers ==3.13.0
  • dominate ==2.7.0
  • flake8 ==5.0.4
  • gcloud ==0.17.0
  • googleapis-common-protos ==1.56.4
  • gunicorn ==20.1.0
  • html5lib ==1.0b10
  • httplib2 ==0.20.4
  • iniconfig ==1.1.1
  • itsdangerous ==0.24
  • jws ==0.1.3
  • mccabe ==0.7.0
  • mypy-extensions ==0.4.3
  • oauth2client ==3.0.0
  • packaging ==21.3
  • pathspec ==0.10.1
  • platformdirs ==2.5.2
  • pluggy ==1.0.0
  • protobuf ==4.21.7
  • py ==1.11.0
  • pyasn1 ==0.4.8
  • pyasn1-modules ==0.2.8
  • pycodestyle ==2.9.1
  • pycryptodome ==3.4.3
  • pyflakes ==2.5.0
  • pyparsing ==3.0.9
  • pytest ==7.1.2
  • python-dotenv ==0.21.0
  • python-editor ==1.0.3
  • python-jwt ==2.0.1
  • pytz ==2021.1
  • requests ==2.11.1
  • requests-toolbelt ==0.7.0
  • rsa ==4.9
  • six ==1.10.0
  • sqlparse ==0.4.2
  • tomli ==2.0.1
  • urllib3 ==1.26.12
  • visitor ==0.1.3
  • webencodings ==0.5.1
.github/workflows/Application.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • postgres * docker
.github/workflows/Coverage.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • postgres * docker
.github/workflows/Documentation_Generator.yml actions
  • actions/checkout v3 composite
  • ad-m/github-push-action master composite
.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • postgres * docker
backend/test/requirements.txt pypi
  • Flask * test
  • Flask-Bcrypt * test
  • Flask-Cors * test
  • Flask-Login * test
  • Flask-Migrate * test
  • Flask-SQLAlchemy * test
  • Flask-Script * test
  • Jinja2 * test
  • Mako * test
  • MarkupSafe * test
  • PyJWT * test
  • SQLAlchemy * test
  • Werkzeug * test
  • alembic * test
  • bcrypt * test
  • cffi * test
  • click * test
  • cryptography * test
  • gunicorn * test
  • importlib-metadata * test
  • itsdangerous * test
  • psycopg2 * test
  • pycparser * test
  • pyshorteners * test
  • python-dotenv * test
  • six * test
  • zipp * test
requirements.txt pypi
  • flask *
  • pyrebase4 *
  • pytest ==7.1.2
  • sqlalchemy *