A comprehensive PHP-based system for managing training programs, users, and enrollments. Built with PHP and Bootstrap, it provides a robust solution for educational institutions, corporate training departments, and training providers.
An IT Project by Joel Moreno
Developed by kingsolomonwisdom (Jcrist Vincent Orhen)
-
🔐 User Authentication System
- Secure login/logout functionality
- Password hashing and protection
- Session management
-
👥 User Management
- Role-based access control (Admin/User)
- User registration with email validation
- User profile management
- Administrator user management capabilities
-
📚 Training Management
- Create, read, update, and delete training programs
- Training categorization and scheduling
- Capacity management for each training
- Start/end date management
-
✅ Enrollment Management
- Easy enrollment process for users
- Enrollment tracking and management
- Capacity checks and validations
- Enrollment reporting
-
📊 Dashboard & Analytics
- Summary statistics for administrators
- Visual representation of key metrics
- Recent activity tracking
- Quick access to all system features
-
🎨 Modern UI/UX Design
- Responsive design using Bootstrap 5
- Mobile-friendly interface
- Clean and intuitive user experience
- Interactive components with animations
-
🛠️ System Features
- Automatic database setup and installation
- Error handling and logging
- Data validation and sanitization
- Optimized database queries
This system implements several important web development concepts:
- MVC-like Architecture: Separation of data, logic, and presentation
- Authentication & Authorization: Secure user access control
- Database Design: Relational database with referential integrity
- CRUD Operations: Standard create, read, update, delete functionality
- Input Validation: Client and server-side validation
- Session Management: Secure user sessions
- Responsive Design: Mobile-first approach with Bootstrap
- Error Handling: Comprehensive error detection and reporting
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Web server (Apache, Nginx, etc.)
- Modern web browser
- Internet connection (for CDN resources)
-
Clone the repository to your web server's document root:
git clone https://github.com/jcrvnx/training-management-system.git
-
Configure the database connection in
includes/config.php:define('DB_HOST', 'localhost'); define('DB_USER', 'your_username'); define('DB_PASS', 'your_password'); define('DB_NAME', 'tms_db');
-
Update the
BASE_URLconstant inincludes/config.phpto match your installation directory:define('BASE_URL', 'http://localhost/training-management-system');
-
Access the application in your web browser. The system will automatically:
- Check if the database exists
- Create the database if it doesn't exist
- Set up all required tables
- Provide a registration form to create the first admin account
-
Register the first user:
- The first user who registers will automatically become an administrator
- Subsequent registrations will create regular user accounts
- Log in with your administrator credentials
- Use the Dashboard to view system statistics and recent activities
- Manage Trainings - Create, edit, and delete training programs
- Manage Users - View, edit, and manage user accounts
- Manage Enrollments - Track and manage user enrollments
- Register for an account or log in with existing credentials
- Browse available training programs from the training list
- Enroll in training programs of interest
- View your enrollment history
- Update your profile information when needed
/training-management-system/
│
├── /assets/ # Static assets (CSS, JS)
│ ├── /css/ # CSS stylesheets
│ └── /js/ # JavaScript files
│
├── /includes/ # Configuration and utilities
│ ├── config.php # System configuration
│ ├── db.php # Database connection
│ └── functions.php # Helper functions
│
├── /templates/ # Page templates and layout files
│
├── /auth/ # Authentication files
│ ├── login.php # Login form
│ ├── logout.php # Logout process
│ └── register.php # Registration form
│
├── /trainings/ # Training management
│ ├── index.php # List trainings
│ ├── create.php # Create new training
│ ├── edit.php # Edit existing training
│ └── delete.php # Delete training
│
├── /users/ # User management
│
├── /enrollments/ # Enrollment management
│
├── dashboard.php # Dashboard page
├── index.php # Entry point
├── install.php # Automatic installation script
└── install_complete.flag # Flag file indicating installation status
MIT
Made with ❤️ by kingsolomonwisdom



