A simple procurement request ticketing system built with Flask, SQLite, and Bootstrap.
- Create, update, and delete procurement tickets
- Track ticket status and priority
- Real-time notifications via browser notifications
- SMS notifications for ticket events
- Email notifications for new tickets
- Dark mode support
- Mobile-responsive design
- Clone the repository
- Create a virtual environment:
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate - Install dependencies:
pip install -r requirements.txt - Copy
.env.exampleto.envand configure your environment variables:cp .env.example .env - Generate SSL certificates (optional, for HTTPS):
python generate_cert.py
Edit the .env file to configure:
SECRET_KEY: Flask session secret keyEDIT_PIN: PIN for editing/deleting tickets- Email settings (for email notifications):
SMTP_SERVERSMTP_PORTSMTP_USERNAMESMTP_PASSWORDNOTIFICATION_EMAIL
- SMS settings (for text message notifications):
TEXTBELT_API_KEY: Get from TextBeltNOTIFICATION_PHONE: Phone number in E.164 format (+12125551234)
Start the application:
python app.py
The application will run on port 5003 by default.
Test email notifications:
python utils/test_email.py
Test SMS notifications:
python utils/test_sms.py
Test browser notifications:
python test_notification.py