A comprehensive web-based Courier Management System built with PHP, MySQL, Bootstrap 5, and the AdminLTE 3 template. SwiftShip CMS streamlines courier operations with parcel management, shipment tracking, branch/staff administration, reporting, and role-based access control.
Course: Object-Oriented Programming / Database Systems
University: FAST – National University of Computer and Emerging Sciences (FAST-NUCES)
SwiftShip CMS provides a centralized dashboard for courier and logistics companies. Administrators and staff can manage parcels, monitor shipment statuses, maintain branch and staff records, and generate reports. Customers can track parcels by tracking number.
- Authentication & Authorization — login (Admin / Staff roles), session management, logout
- Parcel Management — create, update, view, track, and print parcels with auto-generated reference numbers
- Shipment Tracking — real-time tracking by reference number (public
track.php) - Branch Management — add / edit / list branches with auto-generated branch codes
- Staff & User Management — add / edit / delete users and staff, profile avatar uploads
- Reports — date-range shipment reports with CSV-style data export
- Feedback — customer feedback submission and management
- System Settings — company name, logo, contact info, address
- Responsive UI — AdminLTE dashboard, DataTables, modals, Toastr notifications
- PHP 8 (server-side, OOP/MVC-style)
- MySQL / MariaDB (database)
- Bootstrap 5 + AdminLTE 3 (UI) — vendored in
assets/(no CDN required for app styles) - jQuery + DataTables + SweetAlert2 + Toastr + Select2 (UX)
- XAMPP / Apache (local dev server)
swiftship-courier-management-system/
│
├── assets/ # Vendored AdminLTE + plugins (Bootstrap, jQuery, DataTables, Select2, Summernote, Chart.js, SweetAlert2, Toastr, ...) — REQUIRED
│ ├── dist/ # AdminLTE core CSS/JS + styles.css
│ └── plugins/ # Third-party plugins
│
├── database/
│ └── cms_db.sql # Database schema with seed data (branches, users, parcels, etc.)
│
├── screenshots/ # Place UI screenshots here
├── 404.html
│
├── admin_class.php # Action class: login/auth + all CRUD (users, branches, parcels, reports)
├── ajax.php # AJAX endpoint / action dispatcher
├── classes.php # Manage classes (level/section)
├── branch_list.php
├── contact_us.php
├── db_connect.php # MySQL connection ($conn)
├── edit_*.php # Edit forms (branch, parcel, result, staff, user)
├── feedback.php / feedback_list.php
├── footer.php / header.php / sidebar.php / topbar.php
├── home.php
├── index.php # App entry point (auth-gated)
├── login.php # Login page
├── manage_parcel_status.php
├── manage_user.php
├── new_*.php # Create forms (branch, feedback, parcel, staff, user)
├── parcel_list.php
├── print_pdets.php # Print parcel details
├── reports.php
├── staff_list.php
├── system_settings.php
├── track.php # Public parcel tracking page
├── user_list.php
├── view_parcel.php
├── view_user.php
└── README.md
⚠️ The AdminLTE asset bundle (assets/) is large (~60 MB, ~1900 files) and is committed so the app is fully self-contained (works offline, no CDN dependency).
git clone https://github.com/basit2368/swiftship-courier-management-system.gitCopy the project folder to your web server's document root.
For XAMPP (Windows):
xampp/htdocs/swiftship-courier-management-system/
Open phpMyAdmin and create a database named:
cms_db
Import the schema:
database/cms_db.sql
Edit db_connect.php and update credentials if necessary:
$conn = new mysqli('localhost', 'root', '', 'cms_db');Start Apache and MySQL (via XAMPP control panel).
Open your browser and visit:
http://localhost/swiftship-courier-management-system/
| Role | Password | |
|---|---|---|
| Admin | admin@swiftship.com |
password |
| Staff | basit@swiftship.com |
password |
Credentials are seeded in
database/cms_db.sql(passwords are MD5 hashes).
Manage users, staff, branches, parcels, reports, and system configuration.
Update parcel status and manage assigned shipments.
Track parcels and submit feedback (public, no login required).
- Email / SMS notifications
- QR-code parcel labels and barcode scanning
- Payment gateway integration
- REST API
- Mobile application
- Live shipment map
- Password hashing with
password_hash()(currently MD5) - CSRF protection on all AJAX endpoints
- Prepared statements to prevent SQL injection
This project strengthened practical knowledge of:
- Object-Oriented PHP
- CRUD operations
- MySQL database design
- Authentication & authorization
- Session management
- AJAX requests
- Responsive web design (AdminLTE)
- Dashboard development
- Full-stack web development
Contributions, suggestions, and improvements are welcome.
- Fork the repository
- Create a new branch
- Commit your changes
- Push the branch
- Open a Pull Request
This project is developed for educational and portfolio purposes. MIT License — see LICENSE.
Abdul Basit
🎓 Bachelor of Computer Science
FAST – National University of Computer and Emerging Sciences (FAST-NUCES)
- PHP · MySQL · JavaScript · HTML · CSS · Bootstrap · C++ · Python · Git · OpenMP · MPI
If you found this project useful, please consider giving it a Star ⭐ on GitHub.