TagGenerator - Django QR Code Generator 💫📱
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
- Key Features
- Flow Diagram
- Project Structure
- Installation
- Usage
- Deployments
- Releases & Packages
- Contributing
- License
- Acknowledgements
🔍 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
-
Clone the Repository:
git clone https://github.com/DadaNanjesha/tag-generator.git cd tag-generator
-
Set Up a Virtual Environment:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
-
Install Dependencies:
pip install -r requirements.txt
-
Install in Editable Mode (for development):
pip install -e .
🚀 Usage
Integrate into Your Django Project
-
Add to Installed Apps:
In yoursettings.py:INSTALLED_APPS = [ # ... other apps "QrCode", ]
-
Include URL Configuration:
Update your project'surls.py:from django.urls import include, path urlpatterns = [ # ... other URL patterns path("qrcode/", include("QrCode.urls", namespace="qrcode")), ]
-
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">
-
Demo:
Access the demo athttp://<your-domain>/qrcode/to see your QR code in action.
🐳 Deployments
Docker Deployment
Use Docker for a consistent environment:
-
Build the Docker Image:
docker build -t dadananjesha/tag-generator .
-
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:- Tag the Release:
git tag vX.Y.Z git push --tags
- Build the Distribution:
python setup.py sdist bdist_wheel
- Upload with Twine:
twine upload dist/*
- Tag the Release:
🤝 Contributing
Contributions are welcome! Here’s how you can help:
- Fork the Repository
- Create a Feature Branch:
git checkout -b feature/your-feature-name
- Commit Your Changes:
Write clear, descriptive commit messages. - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| taggenerator-1.0.2.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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