Skip to content

uysalserkan/url-shorter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

URL Shortener Service

URL Shortener Logo

TODO:

  • Add Makefile.
    • Add workflow automations.
  • Add Prometheus metrics.
  • Add Dockerfile.
  • Add unittests.
  • Create upload a file endpoint.
    • Implement MinIO.
    • Update DB class.
  • Add validation functions.
    • For URLs.
  • Run another thread for delete expired urls.
  • Add CI / CD file on GitHub.

Introduction

The URL Shortener Service is a simple and efficient tool for shortening long URLs into concise and easy-to-share links. This service is designed to provide users with shortened URLs that redirect to the original long URLs.

Features

  • Shorten long URLs to generate compact and shareable links.
  • Access detailed analytics and statistics for each shortened URL.
  • Customize the shortened URL with a custom alias or keyword.
  • Easy-to-use web interface and RESTful API for integration with other applications.

Getting Started

Prerequisites

  • Python 3.x
  • FastAPI (for the web application)
  • Uvicorn
  • SQLAlchemy (for database interaction)
  • MinIO (for object storage)
  • Dynaconf (for configs)

Installation

  1. Clone the repository:

    git clone https://github.com/uysalserkan/url-shorter.git
    cd url-shortener
  2. Install dependencies

    pip install -r requirements.txt
  3. Run application

    uvicorn app:app --port 25250

License

This project is licensed under the Apache License.