Skip to main content

TagGenerator - Django QR Code Generator 💫📱

PyPI version Python Version Django Version License: MIT Latest Release django status python-publish status publish-docker status

TagGenerator is a sleek, reusable Django app for generating stylish, customizable QR codes on the fly. Easily integrate it into your web applications and give your project that extra visual flair!


📖 Table of Contents


🔍 Overview

In today’s fast-paced digital world, QR codes serve as an essential bridge between offline and online experiences. TagGenerator delivers a dynamic, stylish QR code generation solution for Django projects. With advanced styling options like rounded modules and radial gradients, you can create QR codes that are both functional and visually appealing.


✨ Key Features

  • ⚡ Dynamic Generation: Create QR codes in real time for any URL or text.
  • 🎨 Advanced Styling: Customize QR codes with rounded modules, gradient colors, and more.
  • 🔌 Reusable Django App: Seamlessly plug into any Django project with minimal setup.
  • 📝 Custom Template Tag: Easily render QR codes in templates using {% qrcode_url %}.
  • 🐳 Docker Ready: Simplify deployments with a pre-built Docker image.
  • 🛠️ CI/CD Integration: Automated testing and releases with GitHub Actions.

🔄 Flow Diagram

flowchart TD
    A[📥 Input: Text or URL] --> B[🔧 QR Code Generation]
    B --> C[🎨 Apply Styling Options]
    C --> D[📤 Output: Styled QR Code Image]
    D --> E[🖥️ Embed in Django Templates]

🗂️ Project Structure

TagGenerator/
├── .github/                  # GitHub Actions workflows for CI/CD 🚀
├── Dockerfile                # Docker configuration for containerized deployment 🐳
├── QrCode/                   # Reusable Django app for QR code generation
│   ├── migrations/           # Database migrations
│   ├── templates/            # Django templates (includes custom tag usage)
│   ├── templatetags/         # Custom template tags (e.g., qrcode_tags.py) 🏷️
│   ├── urls.py               # URL configuration for the QRCode app
│   └── views.py              # Views to render QR codes
├── TagGenerator/             # Main Django project directory
│   ├── settings.py           # Project settings (including app configurations)
│   ├── urls.py               # Root URL configurations
│   └── wsgi.py               # WSGI configuration for deployment
├── manage.py                 # Django project management script
├── requirements.txt          # Python dependencies 📦
├── setup.py                  # Setup script for packaging and PyPI publishing
├── LICENSE                   # MIT License
└── README.md                 # Project documentation (this file) 📖

💻 Installation

From PyPI

Install the package directly via pip:

pip install TagGenerator

Manual Setup

  1. Clone the Repository:

    git clone https://github.com/DadaNanjesha/tag-generator.git
    cd tag-generator
    
  2. Set Up a Virtual Environment:

    python -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
    
  3. Install Dependencies:

    pip install -r requirements.txt
    
  4. Install in Editable Mode (for development):

    pip install -e .
    

🚀 Usage

Integrate into Your Django Project

  1. Add to Installed Apps:
    In your settings.py:

    INSTALLED_APPS = [
        # ... other apps
        "QrCode",
    ]
    
  2. Include URL Configuration:
    Update your project's urls.py:

    from django.urls import include, path
    
    urlpatterns = [
        # ... other URL patterns
        path("qrcode/", include("QrCode.urls", namespace="qrcode")),
    ]
    
  3. Embed QR Code in Templates:
    Load the custom template tag and render a QR code:

    {% load qrcode_tags %}
    <img src="{% qrcode_url 'https://example.com' %}" alt="QR Code">
    
  4. Demo:
    Access the demo at http://<your-domain>/qrcode/ to see your QR code in action.


🐳 Deployments

Docker Deployment

Use Docker for a consistent environment:

  1. Build the Docker Image:

    docker build -t dadananjesha/tag-generator .
    
  2. Run the Docker Container:

    docker run -d -p 8000:8000 dadananjesha/tag-generator
    

Visit http://localhost:8000/qrcode/ to view your app.

CI/CD

TagGenerator leverages GitHub Actions for continuous integration. Check out the workflows in the .github/workflows directory for more details.


🏷️ Releases & Packages

  • Releases:
    The latest release is v1.0.2 (Mar 8, 2025). Each release includes detailed notes on fixes and new features.

  • Packages:
    TagGenerator is available on PyPI. We follow Semantic Versioning to ensure stability.

  • Publishing Workflow:
    To release a new version:

    1. Tag the Release:
      git tag vX.Y.Z
      git push --tags
      
    2. Build the Distribution:
      python setup.py sdist bdist_wheel
      
    3. Upload with Twine:
      twine upload dist/*
      

🤝 Contributing

Contributions are welcome! Here’s how you can help:

  1. Fork the Repository
  2. Create a Feature Branch:
    git checkout -b feature/your-feature-name
    
  3. Commit Your Changes:
    Write clear, descriptive commit messages.
  4. Push and Submit a Pull Request:
    Please open an issue first for major changes.

⭐️ Support & Call-to-Action

If you find this project useful, please consider:

  • Starring the repository ⭐️
  • Forking the project to contribute enhancements
  • Following for updates on future improvements

Your engagement helps increase visibility and encourages further collaboration!


📜 License

This project is licensed under the MIT License.


🙏 Acknowledgements

  • Built With: Django, Python, and the qrcode library.
  • Inspiration: Designed to provide an elegant and customizable QR code solution.
  • CI/CD: Thanks to GitHub Actions for seamless integration and deployment.

Happy coding and may your QR codes always be stylish! 🚀✨

Metadata

Release files for TagGenerator 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TagGenerator 1.0.2
File Size Uploaded
taggenerator-1.0.2.tar.gz 7.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for TagGenerator 1.0.2
File Interpreter ABI Platform
taggenerator-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 15.3 kB

Release files / taggenerator-1.0.2.tar.gz

Download URL taggenerator-1.0.2.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
19526e796f4fde52845a1e939a01a5434c9ec23a86bfabc03e5bcdf913847f94
BLAKE2b-256 checksum
How to use checksums
24039d693e8bdb3a2cc3221989823a767bc920d22e5741afe178b29962eef851
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 14, 2025.

Transparency log

Release files / taggenerator-1.0.2-py3-none-any.whl

Download URL taggenerator-1.0.2-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d579b9f5b56f1ee454a30a3c8e15ac59ba48c72d95a0c004ff39076e1ae3093a
BLAKE2b-256 checksum
How to use checksums
7447e0f95e015a18a2cce5a817e580f065c0cd221a297be481ba22359bcd735d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 14, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page