Overview
NoticeHub is a listing and tender management platform designed to connect companies with audiences seeking notices, tenders, and job listings. The application provides a comprehensive admin panel for managing listings, companies, subscriptions, and invoices, while companies can post their own listings which require approval before being published. Built with Laravel (backend) and React (frontend), it offers a modern, interactive user experience.
Purpose & Problem Statement
Many businesses struggle with finding a centralized platform to publish tenders, notices, and listings in a controlled, moderated environment. Similarly, administrators need a system to review and approve these submissions, manage company accounts, track subscriptions, and handle invoicing. NoticeHub solves this by providing a single platform where companies can post content and admins can efficiently manage the entire workflow, ensuring quality control and organized operations.
Who It's For
NoticeHub serves two primary user groups:
- Administrators — Manage the entire platform including approving/disapproving listings, overseeing company accounts, handling subscriptions, and generating invoices.
- Companies — Register accounts, subscribe to packages, and post listings, tenders, or notices for publication after admin review.
Core Features
- Listing Management — Create, view, edit, approve, and disapprove listings and tenders with filtering and pagination capabilities.
- Company Management — Oversee registered companies, verify their accounts, view subscription details, and manage company information.
- Subscription System — Handle company subscriptions with different package types (annual and per-job) and track remaining jobs for per-job packages.
- Invoice Management — Generate and view invoices for company subscriptions and transactions.
- User Authentication — Secure login and registration system for both administrators and companies.
- Dashboard Analytics — View key metrics including pending listings, notices, tenders, and registered companies.
- Document Management — Attach and manage documents related to listings and companies.
- Responsive Interface — Modern, responsive UI built with React and Material-UI for easy use across devices.
How It Works
NoticeHub operates as a full-stack web application with a clear user flow:
- Accessing the Platform — Users navigate to the web app in their browser, where they can log in or register an account.
- Authentication — The system verifies user credentials and determines access levels (admin or company user).
- Admin Workflow — Administrators land on a dashboard showing key metrics. From the sidebar, they can access sections to manage listings, companies, invoices, and subscriptions. They can review pending listings, approve or disapprove them, edit details, and manage company accounts and subscriptions.
- Company Workflow — Companies can register, subscribe to packages, and create listings which are sent for admin approval before being published.
- Navigation — The app uses React Router for smooth navigation between sections, with a sidebar menu providing quick access to all features.
System Capabilities
User & Company Management
- User registration and authentication
- Company profile management
- Company verification status tracking
Listing & Tender Management
- Create, view, edit listings and tenders
- Approve/disapprove listings
- Filter listings by title, company, and status
- Pagination for large datasets
- Document attachment support
Subscription & Package Management
- Multiple package types (annual and per-job)
- Track subscription expiry dates
- Track remaining jobs for per-job packages
- Manual subscription management by admins
- Generate and view invoices
- Real-time metrics display (pending listings, notices, tenders, companies)
Tech Stack
- Material-UI (MUI) for UI components
- React Router for navigation
- React Toastify for notifications
- jQuery (for legacy components)
- Laravel Passport for API authentication
- Laravel Sanctum for authentication
- MySQL (relational database)
- Eloquent ORM for database interactions
- barryvdh/laravel-dompdf for PDF invoice/document generation
- Laravel Mix for asset bundling
User Experience & Interface
The NoticeHub interface features a clean, professional design with a sidebar navigation menu providing access to all major sections. The dashboard displays key metrics in an easy-to-read format. Listings and companies are presented in data tables with filtering and pagination for efficient management. Modals are used for viewing and editing details, creating a seamless user flow without page reloads. The interface is responsive, ensuring a good user experience on both desktop and mobile devices.
Access & Permissions
NoticeHub has two main user roles with distinct permissions:
- Administrator — Full access to all features including dashboard, listings management, company management, invoice management, and subscription management. Can approve/disapprove listings, verify companies, and manage all aspects of the platform.
- Company User — Can register, manage their company profile, subscribe to packages, and create listings (which require admin approval).
Data & Content Management
NoticeHub manages several key data types:
- Listings/Tenders — Include title, description, company information, status (pending/published), and attached documents. Listings are created by companies and require admin approval to be published.
- Companies — Include company name, email, sector, verification status, and subscription details.
- Users — Include authentication information and association with companies or admin roles.
- Subscriptions — Track package type, expiry date, and remaining jobs (for per-job packages).
- Invoices — Track financial transactions related to subscriptions.
- Documents — Attached to listings and companies for reference.
Integrations & External Connections
- Email Delivery — Uses Laravel's built-in email system for notifications and account-related emails.
- File Storage — Supports local file storage for uploaded documents and assets.
Strengths & Highlights
- Full-Stack Architecture — Combines Laravel's robust backend with React's interactive frontend for a modern web app.
- Comprehensive Admin Panel — Provides all necessary tools for managing listings, companies, and subscriptions in one place.
- Approval Workflow — Ensures quality control by requiring admin approval for published listings.
- Flexible Subscription System — Supports multiple package types to meet different company needs.
- Responsive Design — Works well across various device sizes.
- Document Management — Allows attaching documents to listings and companies.
Current Limitations
- Limited payment gateway integration (relies on manual subscription management by admins)
- Basic reporting and analytics beyond dashboard metrics
- No built-in search functionality for listings
- Limited customization options for listing templates
- No multi-language support
Potential Next Steps
- Integrate payment gateways for automated subscription processing
- Add advanced search and filtering options for listings
- Implement email notifications for listing status changes
- Add reporting and analytics features for companies to track listing performance
- Add multi-language support
- Implement a public-facing interface for users to browse published listings
- Add API documentation for third-party integrations
- Enhance security with additional authentication options (two-factor authentication)