This project is a feature-rich URL Shortener API and web application, allowing users to generate short URLs with added functionalities like password protection, expiration dates, and click tracking analytics.
- URL Shortening: Create shortened versions of long URLs for easy sharing.
- Password Protection: Add optional password protection to secure your URLs.
- Expiration Dates: Set expiration dates for URLs to ensure limited accessibility.
- Click Tracking: View the number of times each shortened URL is accessed.
- Domain Validation: Automatically checks the validity of target URLs before redirection.
- Background Tasks: Perform operations (e.g., click tracking) asynchronously for optimized performance.
Follow these steps to set up the project locally:
-
Clone the Repository:
git clone https://github.com/Incognitol07/URL-Shortener.git cd URL-Shortener
-
Set Up the Virtual Environment:
python -m venv venv .venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies:
pip install -r requirements.txt
-
Configure the Environment:
-
Create a
.env
file in the root directory.copy .env.example .env
-
-
Start the Application:
uvicorn app.main:app --reload
-
Access the App:
- API documentation is available at
http://127.0.0.1:8000/docs
. - Visit the web interface at
http://127.0.0.1:8000
.
- API documentation is available at