Skip to content

this project is a simple link shortener that takes a long URL from user and converts it into a much shorter manageable link.

License

Notifications You must be signed in to change notification settings

MohammadMahdi-Akhondi/link_shortener

Repository files navigation

Link Shortener

this project is a simple link shortener that takes a long URL from user and converts it into a much shorter manageable link.

Features

  • Convert long URLs into short links
  • Supports both English and Persian languages.
  • Uses two-step verification of the user account using SMS.
  • Connected to the payment gateway

Technologies

  • Implemented using Django framework and Django Rest Framework
  • Utilizes Celery for executing time-consuming tasks asynchronously
  • Utilizes Redis as a cache
  • Uses RabbitMQ as a message broker
  • Dockerized project for easy setup and deployment
  • Uses JWT to authenticate users
  • Tested using TestCase and APIClient

Usage

  1. Clone the project repository:
git clone https://github.com/MohammadMahdi-Akhondi/link_shortener.git
cd link_shortener
  1. Create and edit the configuration file:
cp setting-sample.ini setting.ini
nano setting.ini

Configure the necessary project settings in this file.

  1. Build and launch the Docker environment:
docker-compose up --build
  1. The project is now accessible, and you can open document of project in your browser:

http://localhost:8000/swagger/

Requirements

To build and run the project, you need the following dependencies:

  • Docker and Docker Compose

if you need to install Docker and Docker Compose, please refer to their official documentation.

Development and contribution

if you would like to contribute to the development and improvement of this project, you can following these steps:

  1. Fork this repository
  2. Create a new branch
git checkout -b your-feature
  1. Make your changes and commit them:
git commit -m "Add your feature"
  1. push your branch:
git push origin your-feature
  1. Create a new Pull Request and explain your changes.

I look forward to your contributions :)

About

this project is a simple link shortener that takes a long URL from user and converts it into a much shorter manageable link.

Topics

Resources

License

Stars

Watchers

Forks