A modern, responsive web platform for managing student printing services with a beautiful UI, built with PHP and MySQL.
- Modern Dashboard with order statistics
- Drag & Drop File Upload (PDF, DOCX, PPTX, images)
- Print Configuration (Black & White / Color)
- Real-time Price Calculator
- Order Tracking with vertical timeline
- QR Code System for pickup
- Admin Dashboard with system statistics
- Orders Management with inline status updates
- User Search and filtering
- File Management
- Real-time Updates
- β¨ Glassmorphism effects with backdrop blur
- π― Smooth animations and micro-interactions
- π¨ Modern color palette and typography
- π± Fully responsive design
- π Premium aesthetics with soft shadows
- XAMPP (or any PHP 7.4+ with MySQL)
- Web browser
-
Clone or copy files to your web server directory:
c:\xampp\htdocs\cp1\ -
Start XAMPP services:
- Apache
- MySQL
-
Import database:
- Open phpMyAdmin:
http://localhost/phpmyadmin - Create new database:
cmc_print - Import
database.sqlfile
- Open phpMyAdmin:
-
Configure database (if needed): Edit
config.phpand update connection settings:define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', ''); define('DB_NAME', 'cmc_print');
-
Set permissions for uploads:
chmod 777 uploads
-
Access the platform:
- Home:
http://localhost/cp1/home.php - Login:
http://localhost/cp1/index.php
- Home:
Admin Account:
- Email:
admin@cmcprint.com - Password:
admin123
Student Account: Create a new account via the signup form.
cp1/
βββ config.php # Database configuration
βββ database.sql # MySQL schema
βββ styles.css # Design system
βββ includes/
β βββ header.php # Navigation component
β βββ footer.php # Footer component
βββ index.php # Login/Signup
βββ logout.php # Logout handler
βββ home.php # Landing page
βββ about.php # About page
βββ contact.php # Contact form
βββ dashboard.php # Student dashboard
βββ dashboard.js # Client-side logic
βββ upload.php # File upload processor
βββ get_orders.php # Orders API
βββ admin.php # Admin panel
βββ admin_actions.php # Admin operations
βββ uploads/ # File storage
- Sign Up with email and student ID
- Upload Files via drag-and-drop or file browser
- Choose Options: pages, print type (B&W or Color)
- View Price calculated in real-time
- Submit Order and track status
- Collect Prints using QR code
- Login with admin credentials
- View Statistics: total orders, revenue, users
- Manage Orders: search, filter, update status
- View Files and delete orders
- Monitor real-time order updates
- Dark Base:
#1C2321 - Primary Accent:
#7D98A1 - Secondary Accent:
#5E6572 - Light Tone:
#A9B4C2
- Headings: Outfit (Google Fonts)
- Body: Inter (Google Fonts)
- Glassmorphism cards
- Gradient buttons
- Timeline component
- Responsive tables
- Form controls
- Badge system
- β
Password hashing with
password_hash() - β SQL injection prevention (prepared statements)
- β XSS protection with sanitization
- β Session-based authentication
- β Role-based access control
- β File validation and secure storage
Submitted β Processing β Printing β Ready β Completed
Admins can update status at any stage. Students see visual timeline updates.
- Backend: PHP 7.4+
- Database: MySQL 5.7+
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Libraries: QRCode.js
- Server: Apache (XAMPP)
- Black & White: $0.50 per page
- Color: $1.50 per page
Configure in config.php:
define('PRICE_PER_PAGE_BW', 0.50);
define('PRICE_PER_PAGE_COLOR', 1.50);- Statistics cards showing order counts and spending
- Drag-and-drop file upload zone
- Print type selector with price calculator
- Vertical timeline for order tracking
- System-wide statistics
- Searchable orders table
- Inline status updates
- File management actions
β¨ Modern UI/UX with premium aesthetics
β‘ Fast & Responsive on all devices
π Secure authentication and data handling
π± Mobile-Friendly responsive design
π― User-Centric intuitive interface
π° Affordable student-friendly pricing
See walkthrough.md for detailed documentation of all features and implementation details.
Database connection failed:
- Check XAMPP MySQL is running
- Verify database exists in phpMyAdmin
- Check credentials in
config.php
File upload not working:
- Ensure
uploads/directory exists - Check directory permissions (chmod 777)
- Verify file size under 10MB
Styles not loading:
- Clear browser cache
- Check
styles.csspath is correct - Verify Apache is serving CSS files
For issues or questions, use the contact form on the platform or check the documentation.
This project is created for educational purposes.
Built with β€οΈ for students