A Flask-based web application for creating and distributing digital credentials and awards through an integrated form interface. This project demonstrates a complete Flask framework setup with a responsive form UI that integrates with the Certifyme API for credential management.
This project is a Quick Award System built with Flask that allows organizations to easily issue digital certificates and credentials to awardees. The application features a clean, modern form interface where users can input recipient information, which is then processed and sent to the Certifyme API to generate official digital credentials.
Key Purpose: Streamline the process of creating and distributing digital awards and certificates with a user-friendly web interface.
Technology Stack: Flask (Python), HTML5, CSS3, Requests library
Use Case: Ideal for educational institutions, corporate organizations, and event management platforms that need to issue digital badges, certificates, or credentials to participants and awardees.
- β¨ Clean & Responsive Form UI - Modern form interface for award recipient information
- π API Integration - Seamless integration with Certifyme API for credential issuance
- π¨ Custom Styling - Professional CSS styling with hover effects and responsive design
- π Cache Control - Prevents response caching for data security
- π§ Email-based Distribution - Credentials delivered directly to recipient email addresses
- π Quick Deployment - Ready-to-run Flask application on localhost
flask-framework-FormUI-design/
βββ README.md # Project documentation
βββ complete flask framework/
β βββ app.py # Main Flask application
β βββ readme.cd # Additional notes
β βββ template/
β β βββ home.html # Home page template with award form
β βββ static/
β βββ style.css # CSS styling for the application
- Python 3.7+
- Flask
- Requests library
- Modern web browser
Flask==2.x.x
requests==2.x.x
git clone https://github.com/Harshitgupta5290/flask-framework-FormUI-design.git
cd flask-framework-FormUI-designpip install flask requestsOr using requirements.txt (if available):
pip install -r requirements.txtEdit the complete flask framework/app.py file and update your Certifyme credentials:
username = 'Your email of Certifyme'
password = 'Your Certifyme Password'cd "complete flask framework"
python app.pyThe application will start on http://localhost:8000
-
Navigate to the Application
- Open your browser and go to
http://localhost:8000
- Open your browser and go to
-
Fill the Quick Award Form
- Enter the awardee's name
- Enter the awardee's email address
- Click the "Award" button
-
Credential Issuance
- The form data is sent to the Certifyme API
- A digital credential is generated with predefined template details
- The credential is sent to the recipient's email
The application integrates with the Certifyme API to issue digital credentials.
- Endpoint:
https://my.certifyme.online/api/v1/credential - Method: POST
- Authentication: Basic Auth (Base64 encoded username:password)
- Content-Type: application/json
{
"name": "Awardee Name",
"template_ID": 5020,
"email": "awardee@example.com",
"text": "VP Quadralogics",
"license_number": "TPR-1267Af23",
"verify_mode": "Passport Number",
"verify_code": "13678AJKJY678JHGP0"
}You can customize the credential template by modifying:
template_ID- The template ID for the credential designtext- Organization or issuer namelicense_number- License or reference numberverify_mode- Verification methodverify_code- Verification code for the credential
The application includes:
- Responsive Form Container - Centered with shadow effect and rounded corners
- Professional Styling - Clean typography with proper spacing
- Interactive Elements - Hover effects on buttons (dark theme: #270705 β #000000)
- Form Validation - Basic input fields for name and email
- Cache Control Headers - Security headers to prevent response caching
This project demonstrates several security practices:
- Cache-Control headers to prevent caching of sensitive data
- Basic authentication with encoded credentials
- Request structure following REST API standards
Note: For production use, implement additional security measures:
- Use environment variables for storing credentials
- Implement HTTPS/SSL
- Add input validation and sanitization
- Use session management and CSRF tokens
- Implement rate limiting
1. User accesses https://localhost:8000/
2. home.html is rendered with the Quick Award form
3. User fills in name and email
4. Form submits to /Create_Credential endpoint (POST)
5. app.py encodes credentials and sends API request to Certifyme
6. Certifyme API generates and sends credential to recipient
7. Home page is rendered again
app.config['JSON_SORT_KEYS'] = False # Disable alphabetical JSON sorting
app.config['DEBUG'] = False # Disable debug mode for securityhost='0.0.0.0' # Listen on all available interfaces
port=8000 # Run on port 8000Contributions are welcome! Please feel free to submit a Pull Request for any improvements or bug fixes.
This project is open source and available under the MIT License.
Harshit Gupta
- GitHub: @Harshitgupta5290
-
ModuleNotFoundError: No module named 'flask'
- Solution: Install Flask using
pip install flask
- Solution: Install Flask using
-
Connection Error to Certifyme API
- Verify your username and password are correct
- Check your internet connection
- Ensure the Certifyme API endpoint is accessible
-
Form not submitting
- Check browser console for JavaScript errors
- Verify the Flask server is running on port 8000
- Flask Official Documentation
- Python Requests Library
- Certifyme API Documentation
- HTTP Basic Authentication
Last Updated: 2026 Status: β Production Ready