https://github.com/cluena/qr-generator
Web application built with Streamlit that allows users to generate, read, and manage QR codes
https://github.com/cluena/qr-generator
python streamlit
Last synced: 3 months ago
JSON representation
Web application built with Streamlit that allows users to generate, read, and manage QR codes
- Host: GitHub
- URL: https://github.com/cluena/qr-generator
- Owner: clueNA
- License: mit
- Created: 2025-02-26T09:21:49.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-02-26T10:23:35.000Z (7 months ago)
- Last Synced: 2025-02-26T10:29:46.903Z (7 months ago)
- Topics: python, streamlit
- Language: Python
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# QR Code Generator & Reader
An interactive web application built with Streamlit that allows users to generate, read, and manage QR codes. The application features user authentication, QR code generation, reading capabilities, and a history management system.
## 🌐 Live Demo
[](https://qrgen-app.streamlit.app/)## Features
- **User Authentication**
- Secure login and registration system
- Session management
- User-specific QR code history- **QR Code Generation**
- Create QR codes from any text input
- Download generated QR codes as PNG files
- Automatic saving to user history- **QR Code Reading**
- Support for JPG, JPEG, and PNG formats
- Multiple reading methods for improved accuracy
- Option to save scanned QR codes to history- **History Management**
- View all generated QR codes
- Download historical QR codes
- Bulk deletion option
- Clear history functionality## Installation
1. **Clone the repository**
```bash
git clone https://github.com/clueNA/QR-Generator
cd QR-Generator
```2. **Install Python dependencies**
```bash
pip install -r requirements.txt
```## Running the Application
1. **Start the application**
```bash
streamlit run app.py
```## Dependencies
```text
streamlit
qrcode
Pillow
numpy
opencv-python-headless
pytz
python-dateutil
```## Usage
1. **Registration/Login**
- Click on the Register button to create a new account
- Login with your credentials
- Your login status will be displayed in the header2. **Generating QR Codes**
- Navigate to the "Generate QR" tab
- Enter your content in the text area
- Click "Generate QR Code"
- Download the generated QR code3. **Reading QR Codes**
- Go to the "Read QR" tab
- Upload a QR code image
- View the decoded content
- Optionally save to history4. **Managing History**
- Access your QR code history in the "History" tab
- Download previous QR codes
- Delete individual or all QR codes## Security Features
- Password hashing for user authentication
- Session-based user management
- Secure database operations
- Input validation and sanitization## Database
The application uses SQLite for data storage with the following structure:
- Users table for authentication
- QR codes table for storing generated codes
- User activity logging## Error Handling
- Image format validation
- QR code reading error recovery
- Multiple QR code reading methods
- Clear error messages and user feedback## Contributing
1. Fork the repository
2. Create feature branch
3. Commit changes
4. Push to branch
5. Create Pull Request## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Contact
- GitHub Issues: [Create Issue](https://github.com/clueNA/QR-Generator/issues)
## Acknowledgments
- Streamlit for the wonderful web framework
- QRCode library for QR code generation
- OpenCV and pyzbar for QR code reading capabilities## Project Structure
```
qr-code-generator-reader/
├── app.py # Main application file
├── database.py # Database management
├── requirements.txt # Python dependencies
├── README.md # This file
└── .gitignore # Git ignore file
```