Files
links/README.md
T
2024-09-08 19:46:41 +10:00

2.1 KiB

URL Manager

URL Manager is a Django-based web application for managing and tracking short URLs.

Features

  • Create, edit, and delete short URL links
  • Track click statistics for each link
  • Search functionality for quick access to links
  • Internationalization support (English and Simplified Chinese)
  • Responsive design using Tailwind CSS

Prerequisites

  • Docker and Docker Compose

Installation and Setup with Docker

  1. Clone the repository:

    git clone https://github.com/yourusername/url-manager.git
    cd url-manager
    
  2. Build the Docker image:

    docker build -t url-manager .
    
  3. Create a Docker volume for persistent database storage:

    docker volume create url-manager-data
    
  4. Run the Docker container:

    docker run -d --name url-manager-container -p 8000:8000 -v url-manager-data:/app/data url-manager
    
  5. Initialize the database and create a superuser:

    docker exec -it url-manager-container python manage.py migrate
    docker exec -it url-manager-container python manage.py createsuperuser
    
  6. Open your web browser and navigate to http://localhost:8000 to access the application.

Usage

  • To create a new short URL, click on the "Create New Link" button on the home page.
  • To edit or delete a link, use the corresponding buttons in the link list.
  • To view detailed statistics for a link, click on the "Details" button.
  • Use the search bar in the navigation to quickly find links by alias or original URL.

Admin Interface

To access the admin interface:

  1. Go to http://localhost:8000/admin
  2. Log in with the superuser account you created earlier

Changing the Language

To switch between English and Simplified Chinese, use the language selector in the navigation bar.

Persistent Data

The SQLite database is stored in the Docker volume url-manager-data. This ensures that your data persists even if the container is stopped or removed. To backup your data, you can copy the contents of this volume.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.