2024-09-08 20:57:57 +10:00
2024-09-08 19:12:15 +10:00
2024-09-08 20:57:57 +10:00
2024-09-08 20:57:57 +10:00
2024-09-08 20:57:57 +10:00
2024-09-08 20:57:57 +10:00
2024-09-08 20:34:31 +10:00
2024-09-08 19:12:15 +10:00
2024-09-08 19:46:41 +10:00
2024-09-08 17:29:20 +10:00
2024-09-08 20:57:57 +10:00
2024-09-08 19:12:15 +10:00

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.

Local Development

To run the URL Manager locally:

  1. Clone the repository:

    git clone https://github.com/yourusername/url-manager.git
    cd url-manager
    
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Apply database migrations:

    python manage.py migrate
    
  5. Create a superuser:

    python manage.py createsuperuser
    
  6. Compile translation messages:

    python manage.py compilemessages
    
  7. In one terminal, start the Tailwind CSS build process:

    python manage.py tailwind start
    
  8. In another terminal, run the Django development server:

    python manage.py runserver
    
  9. Open your browser and go to http://127.0.0.1:8000

Remember to keep both the Tailwind CSS build process and the Django development server running while you're developing.

Tools

The URL Manager includes a Tools page with the following features:

  • Export all aliases as a JSON file
  • Import aliases from a JSON file

To access the Tools page, click on the "Tools" link in the navigation bar.

S
Description
No description provided
Readme
27 MiB
Languages
HTML 45%
Python 37.9%
Swift 9.7%
JavaScript 5.2%
CSS 1.5%
Other 0.6%