Fluent NOC Manager
Manage No Objection Certificate (NOC) requests with frontend application form, admin review panel, PDF generation, and email notifications.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/dhrupo/fluent-noc/archive/refs/heads/master.zipReadme
Fluent NOC - Office NOC Manager
A WordPress plugin for managing No Objection Certificate (NOC) requests with frontend application form, admin review panel, PDF generation, and email notifications.
Features
- Frontend Application Form: Shortcode-based form with employee details, country selection, and date validation
- Admin Panel: Unified Gutenberg block-based interface for HR to review and manage all requests
- Advanced Filtering: Filter requests by status, date range, and search by name/email
- PDF Generation: Generate NOC certificates from Gutenberg block templates using Dompdf
- PDF Customization: Upload header and footer images for professional letterhead design
- Email Notifications: Automated emails for submission, approval (with PDF attachment), and rejection
- Public Verification: Public page to verify NOC status using alphanumeric reference ID
- QR Code Support: QR codes on PDFs for instant verification
- Rate Limiting: Built-in spam protection
- Date Validation: Prevents selecting past dates and ensures logical date ranges
Installation
-
Upload the plugin files to
/wp-content/plugins/fluent-noc/ -
Navigate to the plugin directory:
cd /wp-content/plugins/fluent-noc/ -
Install Composer dependencies:
composer install -
Install npm dependencies:
npm install -
If the above commands fail, try using the setup script:
./setup.shTroubleshooting:
- Composer SSL certificate errors: Run
composer config -g secure-http falsethen try again - npm permission errors: Run
sudo chown -R $(whoami) ~/.npm && npm cache clean --forcethen try again
- Composer SSL certificate errors: Run
-
Build block assets (optional, for development):
npm run build # or for development with watch mode: npm run start -
Activate the plugin through the 'Plugins' menu in WordPress
Test Site
A live demo of the plugin is available for testing:
-
Login to WordPress Admin:
-
Submit a NOC Request:
- Visit the NOC Request Form
- Fill out the form with test data
- Submit the request
-
Review and Manage Requests:
- After logging in, go to Office NOC Admin Panel
- View all submitted requests
- Approve or reject requests
- Generate PDF certificates for approved requests
Requirements
- WordPress 6.4 or higher
- PHP 7.4 to 8.2
- Composer (for dependencies: dompdf, endroid/qr-code)
- Node.js and npm (optional, for block development)
Usage
Frontend Form
Use the shortcode [noc_application_form] on any page or post to display the application form.
Admin Panel
- Navigate to Office NOC in the WordPress admin menu
- NOC Requests: Unified page to view all requests with advanced filtering:
- Filter by status (All, Pending, Approved, Rejected)
- Filter by date range (From/To dates)
- Search by employee name or email
- PDF Template Designer: Design your NOC certificate template using Gutenberg blocks
- Settings: Configure company details, contact information, HR details, signature image, PDF header/footer images, and email settings
PDF Template Design
- Go to Office NOC > PDF Template Designer
- Use standard WordPress blocks to design your template
- Use placeholders like
{{full_name}},{{reference_id}}, etc. - Click "Save Template" to save your design
- Use "Preview PDF" to see how it looks with sample data
Application Form Fields
- Full Name (required)
- Employee ID (required)
- Email (required)
- Joining Date (required)
- Position (required)
- Department (required)
- Visiting Country (required)
- Purpose of Visit (required)
- Leave Start Date (required)
- Leave End Date (required)
Available Placeholders
Employee Information:
{{full_name}}- Employee full name{{employee_id}}- Employee ID{{email}}- Employee email{{joining_date}}- Employee joining date{{position}}- Employee position{{department}}- Employee department
NOC Details:
{{reference_id}}- NOC reference ID (alphanumeric format: NOC2025A1B2C3D4){{visiting_country}}- Destination country{{purpose}}- Purpose of visit{{leave_start}}- Leave start date{{leave_end}}- Leave end date{{number_of_days}}- Calculated number of days between leave dates{{issue_date}}- Current date
Company Information:
{{company_name}}- Company name from settings{{company_address}}- Company address{{company_phone}}- Company phone number{{company_email}}- Company email address{{hr_name}}- HR Manager name{{hr_title}}- HR Manager title
Images (for image blocks):
{{qr_code}}- QR code image for verification{{signature}}- HR signature image
Verification
Public verification page is available at: /noc-verification/?ref=NOC2025A1B2C3D4
The reference ID is alphanumeric and non-guessable for security. Users can scan the QR code on the PDF or manually enter the reference ID to verify the NOC status.
Settings
Configure the following in Office NOC > Settings:
- Company Information: Name, Address, Phone, Email
- HR Details: HR Manager Name and Title
- HR Signature Image: Upload signature image for PDF
- PDF Header Image: Upload office header image
- PDF Footer Image: Upload office footer image
- Email Settings: From Name and From Address
Email Configuration
This plugin sends automated emails for:
- Submission confirmation
- Approval notification (with PDF attachment)
- Rejection notification (with rejection reason)
Important: For reliable email delivery, it's must be needed to use an SMTP plugin.
Recommended: FluentSMTP Plugin
We recommend using FluentSMTP - a free, powerful WordPress SMTP plugin that ensures your emails are delivered reliably.
Setup FluentSMTP:
-
Install FluentSMTP:
- Go to Plugins > Add New in WordPress admin
- Search for "FluentSMTP"
- Click Install Now and then Activate
-
Configure Email Service:
- Navigate to FluentSMTP in the WordPress admin menu
- Choose your email service provider:
- Gmail/Google Workspace (OAuth - recommended for Gmail users)
- Amazon SES (for high-volume sending)
- SendGrid (popular transactional email service)
- Mailgun (enterprise-grade email service)
- Any SMTP provider (generic SMTP configuration)
- Follow the setup wizard to connect your email service
-
Test Email Delivery:
- Use FluentSMTP's built-in test email feature
- Verify that emails are being sent successfully
Alternative SMTP Plugins:
If you prefer a different SMTP plugin, any of these will work:
- WP Mail SMTP by WPForms
- Easy WP SMTP
- Post SMTP
- Any other WordPress SMTP plugin
Note: After configuring your SMTP plugin, test the email functionality by submitting a test NOC request to ensure all emails (submission, approval, rejection) are being sent correctly.
Testing Email Delivery
For testing purposes, you can use a temporary email service like Temp-Mail to receive test emails without using your real email address:
- Visit https://temp-mail.org/en/
- Copy the temporary email address provided
- Use this email address when submitting a test NOC request
- Check the temporary inbox to verify that all emails (submission confirmation, approval, rejection) are being delivered correctly
This is especially useful for testing email functionality during development without cluttering your personal inbox.
Dependencies
- Dompdf: PDF generation library
- endroid/qr-code: QR code generation library
Security
- Nonce validation on all form submissions
- Capability checks for admin functions
- Input sanitization and validation
- SQL prepared statements
- Rate limiting on form submissions
- XSS prevention in output
File Structure
fluent-noc/
├── office-noc-manager.php # Main plugin file
├── includes/ # PHP classes
│ ├── class-admin.php # Admin interface
│ ├── class-block-renderer.php # Gutenberg block to HTML renderer
│ ├── class-db.php # Database operations
│ ├── class-email.php # Email notifications
│ ├── class-frontend-form.php # Frontend form handler
│ ├── class-gutenberg-admin.php # Gutenberg admin blocks
│ ├── class-pdf-generator.php # PDF generation
│ ├── class-template-helper.php # Template utilities
│ ├── class-verification.php # Public verification page
│ └── country-names.php # Country list
├── assets/ # CSS and JavaScript
│ ├── css/ # Stylesheets
│ └── js/ # JavaScript files
└── vendor/ # Composer dependencies
Submission Requirements
Project Name & Short Description
Fluent NOC Manager - A comprehensive WordPress plugin for managing No Objection Certificate (NOC) requests with automated workflow, PDF generation, email notifications, and public verification system.
Problem Statement – What problem does it solve?
Currently, offices manually generate NOC certificates, which is time-consuming and error-prone. The manual process involves:
- Collecting employee information through various channels (email, forms, in-person)
- Manually creating certificates in word processors
- Printing and signing physical documents
- Managing approval/rejection workflows manually
- Tracking requests through spreadsheets or paper files
- No centralized system for verification
This leads to delays, inconsistencies, and difficulty in tracking and verifying NOC certificates.
Solution Overview – How does your project address the problem?
Fluent NOC Manager automates the entire NOC request lifecycle:
- Frontend Application Form: Employees submit requests online with all required information
- Automated Validation: Server-side and client-side validation ensures data accuracy
- Admin Review Panel: HR managers can review, approve, or reject requests with notes
- Automated PDF Generation: Professional NOC certificates are generated automatically using customizable templates
- Email Notifications: Automated emails for submission confirmation, approval (with PDF), and rejection (with reason)
- Public Verification: QR code-based verification system allows instant verification of NOC authenticity
- Centralized Management: All requests are stored in a database with filtering and search capabilities
Target Users – Who will benefit from it?
- HR Departments: Streamline NOC request processing and management
- Employees: Easy online submission and quick access to certificates
- Immigration/Embassy Officials: Instant verification of NOC authenticity via QR codes
- Organizations: Reduce administrative overhead and improve efficiency
Demo
Demo files and screenshots are available in the /demo folder.
Github link
Tech / Tools Used
Backend:
- PHP 7.4-8.2
- WordPress 6.4+
- Dompdf (PDF generation)
- Endroid QR Code (QR code generation)
Frontend:
- JavaScript (jQuery)
- HTML5/CSS3
- Gutenberg Blocks (WordPress)
Development Tools:
- Composer (Dependency management)
- npm/Node.js (Build tools)
- WordPress Scripts (@wordpress/scripts)
Libraries:
- Dompdf 2.0+ (PDF rendering)
- Endroid QR Code 4.0+ (QR code generation)
Future Potential – How this could be expanded or used by office which right now manually generate noc
Immediate Benefits:
- Eliminates manual certificate creation
- Reduces processing time from days to minutes
- Ensures consistent formatting and branding
- Provides audit trail of all requests
Future Expansion Possibilities:
- Multi-language Support: Generate NOC certificates in multiple languages
- Digital Signatures: Integration with digital signature services for paperless workflow
- Advanced Reporting: Analytics dashboard with request statistics, approval rates, and trends
- Integration with HR Systems: Connect with existing HR management systems
- Workflow Customization: Multi-level approval workflows (Manager → HR → Director)
- Template Library: Pre-built templates for different types of NOCs
- Automated Reminders: Email reminders for pending approvals
- Export Capabilities: Export data to Excel, CSV, or other formats
- Role-based Access: Different permission levels for different user roles
- Integration with Travel Management: Connect with travel booking systems
Scalability:
- Can handle hundreds of requests per day
- Suitable for small offices to large enterprises
- Cloud-ready architecture
- Can be deployed on any WordPress hosting
Support
For issues and feature requests, please contact the plugin developer.
License
GPL v2 or later