Skip to content

elmahdi111/CMC_Print

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CMC Print - Student Printing Service Platform

A modern, responsive web platform for managing student printing services with a beautiful UI, built with PHP and MySQL.

Platform Status PHP Version MySQL

🎨 Features

For Students

  • 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

For Administrators

  • Admin Dashboard with system statistics
  • Orders Management with inline status updates
  • User Search and filtering
  • File Management
  • Real-time Updates

Design & UX

  • ✨ Glassmorphism effects with backdrop blur
  • 🎯 Smooth animations and micro-interactions
  • 🎨 Modern color palette and typography
  • πŸ“± Fully responsive design
  • πŸš€ Premium aesthetics with soft shadows

πŸš€ Quick Start

Prerequisites

  • XAMPP (or any PHP 7.4+ with MySQL)
  • Web browser

Installation

  1. Clone or copy files to your web server directory:

    c:\xampp\htdocs\cp1\
    
  2. Start XAMPP services:

    • Apache
    • MySQL
  3. Import database:

    • Open phpMyAdmin: http://localhost/phpmyadmin
    • Create new database: cmc_print
    • Import database.sql file
  4. Configure database (if needed): Edit config.php and update connection settings:

    define('DB_HOST', 'localhost');
    define('DB_USER', 'root');
    define('DB_PASS', '');
    define('DB_NAME', 'cmc_print');
  5. Set permissions for uploads:

    chmod 777 uploads
  6. Access the platform:

    • Home: http://localhost/cp1/home.php
    • Login: http://localhost/cp1/index.php

πŸ”‘ Default Credentials

Admin Account:

  • Email: admin@cmcprint.com
  • Password: admin123

Student Account: Create a new account via the signup form.

πŸ“ Project Structure

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

🎯 How It Works

For Students

  1. Sign Up with email and student ID
  2. Upload Files via drag-and-drop or file browser
  3. Choose Options: pages, print type (B&W or Color)
  4. View Price calculated in real-time
  5. Submit Order and track status
  6. Collect Prints using QR code

For Admins

  1. Login with admin credentials
  2. View Statistics: total orders, revenue, users
  3. Manage Orders: search, filter, update status
  4. View Files and delete orders
  5. Monitor real-time order updates

🎨 Design System

Color Palette

  • Dark Base: #1C2321
  • Primary Accent: #7D98A1
  • Secondary Accent: #5E6572
  • Light Tone: #A9B4C2

Typography

  • Headings: Outfit (Google Fonts)
  • Body: Inter (Google Fonts)

Components

  • Glassmorphism cards
  • Gradient buttons
  • Timeline component
  • Responsive tables
  • Form controls
  • Badge system

πŸ” Security Features

  • βœ… 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

πŸ“Š Order Status Workflow

Submitted β†’ Processing β†’ Printing β†’ Ready β†’ Completed

Admins can update status at any stage. Students see visual timeline updates.

πŸ› οΈ Technical Stack

  • Backend: PHP 7.4+
  • Database: MySQL 5.7+
  • Frontend: HTML5, CSS3, JavaScript (ES6+)
  • Libraries: QRCode.js
  • Server: Apache (XAMPP)

πŸ“ Pricing

  • 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);

πŸŽ₯ Features Demo

Student Dashboard

  • Statistics cards showing order counts and spending
  • Drag-and-drop file upload zone
  • Print type selector with price calculator
  • Vertical timeline for order tracking

Admin Panel

  • System-wide statistics
  • Searchable orders table
  • Inline status updates
  • File management actions

🌟 Highlights

✨ 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

πŸ“– Documentation

See walkthrough.md for detailed documentation of all features and implementation details.

πŸ› Troubleshooting

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.css path is correct
  • Verify Apache is serving CSS files

πŸ“§ Support

For issues or questions, use the contact form on the platform or check the documentation.

πŸ“„ License

This project is created for educational purposes.


Built with ❀️ for students

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors