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!
- Overview
- Key Features
- Flow Diagram
- Project Structure
- Installation
- Usage
- Deployments
- Releases & Packages
- Contributing
- License
- Acknowledgements
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.
- ⚡ 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.
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]
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) 📖
Install the package directly via pip:
pip install TagGenerator
-
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 .
-
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.
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.
TagGenerator leverages GitHub Actions for continuous integration. Check out the workflows in the .github/workflows
directory for more details.
-
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:
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.
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!
This project is licensed under the MIT License.
- 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! 🚀✨