{"id":18035554,"url":"https://github.com/umerjamshaid/urlshortener.github.io.","last_synced_at":"2026-04-07T08:02:05.316Z","repository":{"id":258178149,"uuid":"867773068","full_name":"Umerjamshaid/urlshortener.github.io.","owner":"Umerjamshaid","description":"A Django-based URL Shortener with a YouTube Downloader feature, allowing users to shorten URLs and download YouTube videos in various resolutions. Built for convenience, speed, and simplicity.","archived":false,"fork":false,"pushed_at":"2024-10-17T20:16:06.000Z","size":37868,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T07:45:47.999Z","etag":null,"topics":["django","django-rest-framework","python","rest-api","url-shortener","url-shortener-api","web-development","youtube","youtube-downloader","youtube-downloader-python"],"latest_commit_sha":null,"homepage":"https://umerjamshaid.github.io/urlshortener.github.io./","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Umerjamshaid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-04T17:33:43.000Z","updated_at":"2024-10-17T20:16:10.000Z","dependencies_parsed_at":"2024-10-20T02:03:04.833Z","dependency_job_id":"86061e9b-b90a-45cb-9416-41e8fb85aa8f","html_url":"https://github.com/Umerjamshaid/urlshortener.github.io.","commit_stats":null,"previous_names":["umerjamshaid/urlshortener.github.io."],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Umerjamshaid%2Furlshortener.github.io.","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Umerjamshaid%2Furlshortener.github.io./tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Umerjamshaid%2Furlshortener.github.io./releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Umerjamshaid%2Furlshortener.github.io./manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Umerjamshaid","download_url":"https://codeload.github.com/Umerjamshaid/urlshortener.github.io./tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247263677,"owners_count":20910445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-rest-framework","python","rest-api","url-shortener","url-shortener-api","web-development","youtube","youtube-downloader","youtube-downloader-python"],"created_at":"2024-10-30T12:08:38.802Z","updated_at":"2026-04-07T08:02:05.309Z","avatar_url":"https://github.com/Umerjamshaid.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 URL Shortener with Django\n\n![banner](https://github.com/Umerjamshaid/urlshortener/blob/main/Screenshots/catalog.jpg)\n\n[![Django Version](https://img.shields.io/badge/Django-4.1.13-brightgreen.svg)](https://www.djangoproject.com/)\n[![Python Version](https://img.shields.io/badge/Python-3.12-blue.svg)](https://www.python.org/)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/your-repo/url-shortener/pulls)\n[![Build Status](https://travis-ci.com/your-username/url-shortener.svg?branch=main)](https://travis-ci.com/your-username/url-shortener)\n[![codecov](https://codecov.io/gh/Umerjamshaid/url-shortener/branch/main/graph/badge.svg)](https://codecov.io/gh/Umerjamshaid/url-shortener)\n\n## 🎯 Project Overview\n\nWelcome to the **URL Shortener** project built with **Django**! This project allows users to shorten long URLs into compact, easy-to-share links, similar to popular services like **bit.ly**. The project includes:\n\n- URL shortening functionality with a randomly generated short code.\n- Redirection to the original URL when a short link is visited.\n- YouTube video downloader for added fun!\n\n### 🌟 Key Features\n\n- **Shorten Long URLs**: Generate short, easy-to-share URLs with a custom short code.\n- **Custom Redirects**: Visit the shortened URL to get redirected to the original.\n- **YouTube Downloader**: Download YouTube videos in various resolutions (optional feature).\n- **Simple API**: Easily integrate the shortener into other apps via the REST API.\n\n---\n\n## 📸 Screenshots\n\n### Home Page\n\n![Home Page](https://github.com/Umerjamshaid/urlshortener/blob/main/Screenshots/home.png)\n\n### About Us Page\n\n![About Us Page Page](https://github.com/Umerjamshaid/urlshortener/blob/main/Screenshots/about.png)\n\n### YouTube Downloader\n\n![YouTube Downloader](https://github.com/Umerjamshaid/urlshortener/blob/main/Screenshots/youtube.png)\n\n---\n\n## 🛠️ Installation \u0026 Setup\n\nFollow these steps to set up the project locally:\n\n### 1. **Clone the Repository**\n\n```bash\ngit clone https://github.com/your-username/url-shortener.git\ncd url-shortener\n```\n\n### 2. **Set Up a Virtual Environment**\n\n```bash\n# Create a virtual environment (optional but recommended)\npython -m venv venv\nsource venv/bin/activate  # On Windows, use: venv\\Scripts\\activate\n```\n\n### 3. **Install Required Dependencies**\n\n```bash\n# Install dependencies from requirements.txt\npip install -r requirements.txt\n```\n\n### 4. **Migrate the Database**\n\n```bash\n# Run database migrations\npython manage.py migrate\n```\n\n### 5. **Run the Development Server**\n\n```bash\n# Start the Django development server\npython manage.py runserver\n```\n\nNow, open your browser and visit **`http://127.0.0.1:8000`**. Your URL Shortener should be up and running!\n\n---\n\n## 🔥 Usage\n\n### 1. **Home Page**\n\n- This is the landing page where you can shorten URLs. Just enter a long URL, and a shortened link will be generated.\n\n![Home Page](https://github.com/Umerjamshaid/urlshortener/blob/main/Screenshots/home.png)\n\n### 2. **Shorten URL Page**\n\n- Once you enter a URL, the application will generate a short link. Example: **`http://127.0.0.1:8000/abc123/`**\n- Share the short link, and anyone visiting it will be redirected to the original URL.\n\n![Shorten URL Page](https://github.com/Umerjamshaid/urlshortener/blob/main/Screenshots/result.png)\n\n### 3. **YouTube Video Downloader**\n\n- Go to the YouTube section, enter the video link, select the desired resolution, and download your video locally!\n\n![YouTube Downloader](https://github.com/Umerjamshaid/urlshortener/blob/main/Screenshots/youtube.png)\n\n---\n\n## 🧩 API Documentation\n\nOur project also provides an API for programmatically shortening URLs. You can integrate it into other apps.\n\n### **Endpoint: `/api/shorten/`**\n\n- **Method**: POST\n- **Request Body**:\n\n  ```json\n  {\n    \"original_url\": \"https://example.com\"\n  }\n  ```\n\n- **Response**:\n  ```json\n  {\n    \"short_url\": \"http://127.0.0.1:8000/abc123/\"\n  }\n  ```\n\n---\n\n## 🛡️ Running Tests\n\nTo ensure everything is functioning as expected, run the following command:\n\n```bash\npython manage.py test\n```\n\nYou can add unit tests to test various components of your project.\n\n---\n\n## 💻 Technologies Used\n\n- **Python**: 3.12.4\n- **Django**: 4.1.13\n- **Pytube**: For YouTube video downloading\n- **Bootstrap 5**: For the modern and responsive frontend\n\n---\n\n## 👨‍💻 Contributing\n\nWe welcome contributions! Please follow the steps below to contribute:\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/my-feature`)\n3. Commit your changes (`git commit -m 'Add some feature'`)\n4. Push to the branch (`git push origin feature/my-feature`)\n5. Open a Pull Request\n\n---\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 🙌 Acknowledgments\n\n- Thanks to the Django community for the fantastic documentation and tutorials.\n- Shout-out to **Umer Jamshaid** and **Yahya Rizwan** for building this awesome project!\n- Special Thanks to **Sir Muzamil Bilwani** for his guidance and support 🫡\n\n---\n\n## 🏗️ Future Improvements\n\n- **Custom Short Codes**: Allow users to specify custom short codes for their URLs.\n- **User Authentication**: Add login/signup features to allow personalized URL management.\n- **Analytics**: Add basic analytics to track how often a URL is clicked.\n- **UI Enhancements**: Further improve the UI to enhance the user experience.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumerjamshaid%2Furlshortener.github.io.","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumerjamshaid%2Furlshortener.github.io.","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumerjamshaid%2Furlshortener.github.io./lists"}