Tender Management System

A complete Tender Management System built using PHP, MySQL, HTML, CSS, and JavaScript. This system helps organizations manage tenders, companies, vendors, users, documents, reports, and approvals efficiently with role-based access control.

v2.1.0 PHP 8+ MySQLi RBAC Secured

🚀 Features Overview

Auth & Security

  • Secure login & logout system
  • Password hashing (bcrypt)
  • Session-based authentication
  • RBAC (Role-Based Access Control)

User Management

  • Add, edit, delete users
  • Roles: Admin, Auditor, Reviewer, Creator, Vendor
  • Account status (Active/Suspended)

Company Mgmt

  • Add/List tender companies
  • Duplicate name prevention
  • Detailed company profiles

Tender Operations

  • Create & Assign tenders
  • Status tracking & Deadlines
  • Document upload management

Dashboard & Reports

  • Visual stats widgets
  • PDF/Excel ready report structure
  • Vendor participation logs

UI/UX Design

  • Glassmorphism aesthetics
  • Dark & Light mode support
  • Responsive Mobile/Desktop view

🎨 Design System & Color Palette

The project uses a strict color palette. Do not use colors outside this list.

Primary Blue #4361ee
Body BG (Light) #f0f2f5
Card BG (Light) #ffffff
Text Main #1e293b
Text Muted #64748b
Success Green #2ecc71
Warning Yellow #f1c40f
Danger Red #e74c3c
Body BG (Dark) #0f172a
Card BG (Dark) #1e293b

🛠️ Technology Stack

LayerTechnology
BackendPHP (Procedural / MySQLi)
DatabaseMySQL
FrontendHTML5, CSS3, JavaScript
UI DesignCustom CSS (Glassmorphism), FontAwesome
SecurityPrepared statements, RBAC, Input Sanitization

📂 Project Structure

tender-management-system/
├── config/
│   ├── database.php
│   ├── database_create.sql
│   ├── auth.php
│   └── system_settings.php   ← helper file
├── assets/
│   ├── css/
│   │   ├── auth.css
│   │   ├── dashboard.css
│   │   ├── companies.css
│   │   ├── tenders.css
│   │   ├── search.css
│   │   ├── includes.css
│   │   ├── system.css
│   │   ├── profile.css
│   │   ├── includes.css
│   │   ├── reports.css
│   │   └── style.css
│   └── js/
│   │   ├── auth.js
│   │   ├── dashboard.js
│   │   ├── companies.js
│   │   ├── tenders.js
│   │   ├── search.js
│   │   ├── includes.js
│   │   ├── system.js
│   │   ├── profile.js
│   │   ├── includes.js
│   │   ├── reports.js 
│       └── main.js
├── uploads/
│   └── tender_documents/
├── auth/
│   ├── login.php
│   ├── register.php
│   └── logout.php
├── dashboard/
│   └── dashboard.php
├── contact/
│   └── request_access.php
├── companies/
│   ├── add_company.php
│   ├── edit_company.php
│   ├── delete_company.php
│   └── company_list.php
├── tenders/
│   ├── add_tender.php
│   ├── edit_tender.php
│   ├── delete_tender.php
│   ├── tender_management.php
│   ├── view_tender_list_page.php
│   └── view_all_tender_list.php
├── search/
│   ├── global_search.php
│   ├── view_search_result.php
│   └── search_history.php
├── includes/
│   ├── header.php
│   ├── footer.php
│   └── access.php
├── reports/
│   ├── tender_report.php
│   ├── vendor_report.php
│   ├── user_report.php
│   ├── financial_report.php
│   ├── audit_report.php
│   └── custom_report.php
├── system/
│   ├── system_information.php
│   ├── system_settings_save.php
│   ├── system_settings_reset.php
│   └── system_setting.php
├── profile/
│   ├── user_profile_information.php
│   ├── user_profile_settings.php
│   └── user_profile_save.php
├── you_not_access_this_page.php
├── index.php
└── README.md

🔐 Role-Based Access Control (RBAC) Matrix

File / Feature Admin Auditor Reviewer Creator Vendor
Login/Logout
Dashboard Access
Manage Companies
Create Tender
Review Tenders
Global Search
Search History
Reports Module

⚙️ Installation Guide

1. Setup Database

Create a database named tender_management_system and import the SQL file.

-- In phpMyAdmin or MySQL Workbench
CREATE DATABASE tender_management_system;
-- Import config/database_create.sql

2. Configure Connection

Edit config/database.php with your local credentials.

$host = "localhost";
$user = "root";
$pass = "";
$db   = "tender_management_system";

$conn = mysqli_connect($host, $user, $pass, $db);

3. Run Project

Place the folder in htdocs (XAMPP) and navigate to:

http://localhost/tender-management-system

Developed with ❤️ for efficient tender handling and enterprise-grade management.

For support: support@tendermanagementsystem.com

© 2026 Tender Management System. All rights reserved.