Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/botirk38/url_shortener_project
The URL Shortener project is a web application that allows users to shorten long URLs into shorter, more manageable links. It provides a convenient and efficient way to share URLs that are lengthy or contain complex parameters.
https://github.com/botirk38/url_shortener_project
Last synced: about 1 month ago
JSON representation
The URL Shortener project is a web application that allows users to shorten long URLs into shorter, more manageable links. It provides a convenient and efficient way to share URLs that are lengthy or contain complex parameters.
- Host: GitHub
- URL: https://github.com/botirk38/url_shortener_project
- Owner: botirk38
- Created: 2023-02-24T09:51:59.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-06T20:16:27.000Z (almost 2 years ago)
- Last Synced: 2024-11-06T12:57:50.347Z (3 months ago)
- Language: Python
- Homepage:
- Size: 12.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# URL Shortener
> An API that manages and creates shortened URLS
> Live demo [_here_](https://www.example.com).## Table of Contents
* [General Info](#general-information)
* [Technologies Used](#technologies-used)
* [Features](#features)
* [Screenshots](#screenshots)
* [Setup](#setup)
* [Usage](#usage)
* [Project Status](#project-status)
* [Room for Improvement](#room-for-improvement)
* [Acknowledgements](#acknowledgements)
* [Contact](#contact)## General Information
- It uses FAST API to leverage API endpoints and different HTTP requests, so when you post a target URL to the URL shortener app, you get a shortened URL and a secret key back. The shortened URL contains a random key that forwards to the target URL. You can use the secret key to see the shortened URL’s statistics or delete the forwarding.
- URL's are so boring and so long, don't you want something short, that doesn't clutter your screen, and something you can keep track of to use later
- The purpose is to take a long target URL as input, and return a shortened URL## Technologies Used
----------------- -------
- anyio 3.6.2
- click 8.1.3
- decorator 5.1.1
- fastapi 0.92.0
- flask-sqlalchemy 3.0.2
- h11 0.14.0
- idna 3.4
- jsonschema 4.16.0
- pip 22.2.2
- pydantic 1.10.5
- python-dotenv 0.21.1
- setuptools 63.2.0
- sniffio 1.3.0
- SQLAlchemy 2.0.3
- starlette 0.25.0
- typing_extensions 4.5.0
- uvicorn 0.20.0
- validators 0.20.0## Features
List the ready features here:
- Create a shortened URL
- Create a custom URL Key
- Forward to target urls using the shortened URL
- Deleting URLS from the database
- Managing who is using your URL
- Implements graceful forwarding which checks if the website exists before forwarding
- Peek URL mechanism so the user knows what URL they are being forwarded to## Screenshots
![Example screenshot](./imgs/example.png)## Setup
The project's dependiences are stored within a requirements.txt available in the repoTo run this project download it locally from the Github repo
```
cd ../url_shortener_project
pip install -r requirements.txt
uvicorn shortener_app.main:app --reload
```## Project Status
Project is: _complete_## Room for Improvement
Include areas you believe need improvement / could be improved. Also add TODOs for future development.Room for improvement:
- Create a frontend for better user experience and ease of use
- Could improve on the efficiency of the algorithms usedTo do:
- Deployment on Heroku
- Creation of a front end## Contact
Created by @botirk38. Contact me at [email protected]