Creators-Space is a comprehensive, production-ready e-learning management system built with modern PHP and MySQL, designed to empower the next generation of tech innovators through quality education and hands-on learning experiences.
This project is a fully functional e-learning platform with enterprise-grade features:
- β Complete User Management: Registration, authentication, profiles with role-based access (Student, Instructor, Admin)
- β Advanced Course System: Full course catalog with video lessons, progress tracking, and completion certificates
- β Cloud Storage Integration: AWS S3 integration for scalable video and image storage
- β Payment Processing: PayHere payment gateway integration for course purchases and subscriptions
- β Email Communications: PHPMailer integration for automated emails, notifications, and certificate delivery
- β AI-Powered Assistant: Intelligent chatbot for student support and course recommendations
- β Video Progress Tracking: Advanced video watching validation with anti-cheating mechanisms
- β Digital Certificates: Automated certificate generation with unique verification codes
- β Mobile-First Design: Fully responsive design optimized for all devices and screen sizes
- β Admin Dashboard: Comprehensive admin panel with analytics, user management, and content control
- β Shopping Cart System: Full e-commerce functionality for course purchases
- β Communication System: Internal messaging between students and instructors
- β Career Services: Internship portal, campus ambassador program, and project showcase
Frontend (Client-Side)
βββ HTML5, CSS3, JavaScript ES6+
βββ Responsive Design (Mobile-First)
βββ AJAX for dynamic interactions
βββ Progressive Web App features
Backend (Server-Side)
βββ PHP 8.2+ (Modern PHP features)
βββ MySQL 8.0 (Relational Database)
βββ PDO (Prepared Statements)
βββ RESTful API Design
Cloud & External Services
βββ AWS S3 (Video & Image Storage)
βββ PayHere (Payment Gateway)
βββ PHPMailer (Email Service)
βββ SMTP Configuration
Security & Performance
βββ Session Management
βββ CSRF Protection
βββ SQL Injection Prevention
βββ Password Hashing (bcrypt)
βββ Rate Limiting
βββ Input Validation
The system uses a comprehensive MySQL database with 22+ tables including:
- User Management (users, roles, preferences)
- Course System (courses, lessons, enrollments, progress)
- AI Agent (conversations, knowledge_base, analytics)
- Payment System (payments, cart, transactions)
- Communication (messages, notifications, conversations)
- Certificates & Progress Tracking
Creators-Space-GroupProject/
βββ frontend/ # Client-facing application
β βββ index.php # Homepage with hero section
β βββ about.php # About page with dark mode
β βββ login.php # User authentication
β βββ signup.php # User registration
β βββ courses.php # Database-driven course catalog
β βββ mycourses.php # User enrolled courses
β βββ blog.php # Educational blog
β βββ projects.php # Project showcase
β βββ internship.php # Internship opportunities
β βββ services.php # Platform services
β βββ campus-ambassador.php # Ambassador program
β βββ certificate.php # Certificate verification
β βββ includes/ # Shared components
β β βββ header.php # Navigation header
β β βββ footer.php # Site footer
β βββ assets/ # Static assets
β β βββ images/ # Course and UI images
β β β βββ blogpage/ # Blog post images
β β β βββ aboutpage/ # About page assets
β β βββ animations/ # Loading animations
β β βββ certificate/ # Certificate templates
β βββ src/ # Source files
β βββ css/ # Stylesheets
β β βββ style.css # Main styles
β β βββ courses.css # Course-specific styles
β β βββ about.css # About page styles
β β βββ *.css # Component-specific styles
β βββ js/ # JavaScript modules
β β βββ courses.js # Advanced search & filtering
β β βββ about.js # Dark mode & animations
β β βββ navbar.js # Navigation functionality
β β βββ *.js # Component scripts
β βββ data/ # Static data files
β βββ projects.json # Project data
β βββ services.json # Services data
β βββ internship.json # Internship data
βββ backend/ # Server-side application
β βββ config/ # Configuration
β β βββ db_connect.php # Database connection
β βββ auth/ # Authentication endpoints
β β βββ signup_process.php # Registration handler
β β βββ login_process.php # Login handler
β β βββ logout.php # Logout handler
β β βββ forgot_password.php # Password reset
β β βββ reset_password.php # Password reset handler
β βββ admin/ # Admin panel
β β βββ dashboard.php # Admin dashboard
β β βββ users.php # User management
β βββ public/ # Public backend entry
β β βββ admin_login.php # Admin authentication
β β βββ index.php # Backend API entry
β βββ sql/ # Database files
β β βββ db_schema.sql # Database structure
β β βββ seed_admin.sql # Admin user seed
β βββ lib/ # Helper libraries
β β βββ helpers.php # Utility functions
β βββ add_sample_data.php # Sample course data
β βββ update_course_images.php # Image management
β βββ dashboard_stats.php # Analytics data
β βββ ER_ASCII.txt # Database ER diagram
βββ docs/ # Documentation
β βββ INSTALL.md # Detailed installation guide
β βββ STATUS.md # Development status
β βββ CLEANUP.md # Code cleanup notes
β βββ MOBILE_RESPONSIVE.md # Mobile design guide
β βββ SYSTEM_TEST.md # Testing documentation
β βββ *.png # Screenshots
βββ index.php # Root redirect
βββ setup.bat # Windows setup script
βββ setup.sh # Linux/macOS setup script
βββ README.md # This file
- Multi-Role Authentication: Student, Instructor, Admin roles with granular permissions
- Secure Registration & Login: Email verification, password strength validation, CSRF protection
- Profile Management: Comprehensive user profiles with skills, bio, and social media integration
- Password Security: bcrypt hashing, secure reset tokens, rate-limited attempts
- Session Management: Secure session handling with automatic timeout and hijacking prevention
- Communication Preferences: Customizable email and push notification settings
- Cloud-Based Content: AWS S3 integration for scalable video and image storage
- Advanced Search & Filtering: Multi-parameter search with category, level, price, instructor filters
- Dynamic Course Catalog: Real-time course data with instructor profiles and ratings
- Smart Categorization: AI-powered course categorization (Web Dev, Design, Data Science, Mobile, etc.)
- Enrollment System: Seamless course purchases with cart functionality and payment processing
- Course Requests: Students can request new courses, instructors can respond to demand
- Video Progress Tracking: Anti-cheating mechanisms with seek violation detection
- Interactive Lessons: Structured video content with progress validation
- Certificate Generation: Automated digital certificates with unique verification codes
- AI Learning Assistant: Intelligent chatbot for instant student support and course recommendations
- Personalized Dashboard: Student progress analytics, course recommendations, and achievement tracking
- Mobile Learning: Fully responsive design optimized for mobile learning experiences
- PayHere Integration: Secure payment gateway for Sri Lankan market
- Shopping Cart System: Add multiple courses, quantity management, checkout flow
- Payment Processing: Real-time payment validation and automatic enrollment
- Transaction Management: Complete payment history, refund handling, and invoice generation
- Pricing Models: Support for free courses, one-time purchases, and subscription models
- PHPMailer Integration: Professional email templates for all system communications
- Internal Messaging: Student-instructor communication with conversation threads
- Notification System: Real-time notifications for course updates, messages, and achievements
- Email Automation: Welcome emails, course completion certificates, payment confirmations
- Broadcast Communication: Admin announcements and course update notifications
- Intelligent Chatbot: 24/7 student support with contextual responses
- Knowledge Base: Dynamic FAQ system that learns from student interactions
- Course Recommendations: AI-powered course suggestions based on learning history
- Progress Analytics: Machine learning insights for student performance optimization
- Conversation Analytics: AI conversation effectiveness tracking and improvement
- Student Progress Reports: Detailed learning analytics and course completion insights
- Instructor Dashboard: Course performance metrics, student engagement data
- Admin Analytics: Platform-wide statistics, revenue reports, user activity monitoring
- Video Analytics: Watch time, completion rates, engagement metrics per lesson
- AI Analytics: Chatbot effectiveness, common queries, response accuracy metrics
- Internship Portal: Complete internship management with applications and status tracking
- Campus Ambassador Program: Student leadership opportunities with application workflow
- Project Showcase: Portfolio system for students to display their work
- Certificate Verification: Public certificate verification system with QR codes
- Industry Networking: Connect students with industry professionals and mentors
- Multi-Level Admin System: Super admin, course admin, and content moderator roles
- Content Management: Course approval workflow, content moderation, quality assurance
- User Management: Advanced user administration with role assignments and account status control
- System Monitoring: Error logging, performance monitoring, security audit trails
- Backup & Recovery: Database backup systems and disaster recovery procedures
- Languages: HTML5, CSS3, JavaScript (ES6+), PHP 8.2+
- Styling: Custom CSS with CSS Grid, Flexbox, and CSS Variables
- UI/UX: Responsive design, dark mode, glassmorphism effects
- Icons: Font Awesome 6, custom SVG icons
- Architecture: Progressive enhancement, mobile-first approach
- Performance: Lazy loading, optimized assets, minimal dependencies
- Language: PHP 8.2+ with modern features (typed properties, match expressions)
- Database: MySQL 8.0+ with optimized queries and indexing
- ORM: PDO with prepared statements and transaction management
- Session Management: Secure PHP sessions with regeneration and timeout
- Security: CSRF tokens, input validation, SQL injection prevention, rate limiting
- Architecture: RESTful API design, modular MVC structure
- File Storage: AWS S3 (ap-south-1) for videos and images
- Payment Gateway: PayHere (Sri Lankan market leader)
- Email Service: PHPMailer with SMTP (Gmail integration)
- CDN: Cloudflare-ready architecture for global content delivery
- Engine: MySQL InnoDB with ACID compliance
- Schema: 22+ optimized tables with proper relationships and constraints
- Indexing: Strategic indexes for query performance
- Backup: Automated backup systems with point-in-time recovery
- Security: User privilege separation, encrypted connections
- Version Control: Git with feature branch workflow
- Server Requirements: Apache/Nginx, PHP 8.2+, MySQL 8.0+
- Development Tools: VS Code, phpMyAdmin, MySQL Workbench
- Testing: Unit tests, integration tests, security testing
- Deployment: Production-ready with environment configuration
- PHP 8.2 or higher with extensions: PDO, PDO_MySQL, session, json, gd, curl, openssl, mbstring
- MySQL 8.0 or higher / MariaDB 10.4+
- Web Server: Apache 2.4+ or Nginx 1.18+
- Memory: Minimum 512MB RAM (2GB+ recommended for production)
- Storage: 10GB+ for application and media files
- AWS S3 Account: For video and image storage
- PayHere Merchant Account: For payment processing (Sri Lankan businesses)
- SMTP Email Service: Gmail or professional email service for notifications
- Clone the Repository
git clone https://github.com/PamudaUposath/Creators-Space-GroupProject.git
cd Creators-Space-GroupProject- Database Setup
# Create database
mysql -u root -p
CREATE DATABASE creators_space;
exit
# Import database schema and sample data
mysql -u root -p creators_space < backend/sql/creators_space(#final3-Pamuda).sql- Configure Environment
# Copy and configure database settings
cp backend/config/db_connect.php.example backend/config/db_connect.php
# Edit database credentials in db_connect.php
# Configure email settings
cp backend/config/email_config.php.example backend/config/email_config.php
# Add your SMTP credentials- AWS S3 Configuration
- Create S3 bucket:
creators-space-group-project - Region:
ap-south-1 - Configure bucket policy for public read access
- Update image URLs in the database
- PayHere Configuration
// In frontend/notify.php, update:
$merchant_id = "YOUR_MERCHANT_ID";
$merchant_secret = "YOUR_MERCHANT_SECRET";- File Permissions
# Set proper permissions
chmod 755 frontend/ backend/
chmod 777 backend/logs/ storage/
chmod 644 *.php- Web Server Configuration
Apache (.htaccess already included)
# Ensure mod_rewrite is enabled
a2enmod rewrite
systemctl restart apache2Nginx Configuration
server {
listen 80;
server_name your-domain.com;
root /path/to/Creators-Space-GroupProject;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}- Production Deployment
# Enable production mode
export APP_ENV=production
# Configure SSL certificate
certbot --apache -d your-domain.com
# Set up automated backups
crontab -e
# Add: 0 2 * * * /path/to/backup-script.sh- Email: admin@creators-space.com
- Password: admin123
- Note: Change password immediately after first login
Visit /frontend/test_api.php to verify:
- Database connection β
- File permissions β
- Email configuration β
- AWS S3 connectivity β
- Web server (Apache/Nginx) or PHP built-in server
- Git for cloning the repository
- XAMPP/WAMP/MAMP (recommended for local development)
git clone https://github.com/PamudaUposath/Creators-Space-GroupProject.git
cd Creators-Space-GroupProject- Start Apache and MySQL from the XAMPP Control Panel.
- Open phpMyAdmin (usually at http://localhost/phpmyadmin).
- Click "Import" and select
backend/sql/db_schema.sqlto create all tables and the database automatically. - Repeat "Import" for
backend/sql/seed_admin.sqlto add the default admin user.
- Start Apache and MySQL from the XAMPP Control Panel.
- Open a terminal and run the following commands:
# Create the database
mysql -u root -p -e "CREATE DATABASE creators_space DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# Import the schema
mysql -u root -p creators_space < backend/sql/db_schema.sql
# Seed the admin user
mysql -u root -p creators_space < backend/sql/seed_admin.sqlYou can use either phpMyAdmin or the command line to set up your database. No manual table creation is neededβjust import the provided SQL files.
Edit backend/config/db_connect.php:
<?php
// Database configuration
$DB_HOST = '127.0.0.1';
$DB_NAME = 'creators_space';
$DB_USER = 'root'; // Your MySQL username
$DB_PASS = ''; // Your MySQL password (empty for XAMPP default)
$DB_CHARSET = 'utf8mb4';
?># Add sample courses and users
cd backend
php add_sample_data.php
# Update course images
php update_course_images.php# From project root
php -S localhost:8000
# Or for Windows with XAMPP
C:\xampp\php\php.exe -S localhost:8000
# Access at: http://localhost:8000/frontend/- Move project to
htdocs/directory - Start Apache and MySQL from XAMPP control panel
- Access at:
http://localhost/Creators-Space-GroupProject/frontend/
- Frontend Homepage:
http://localhost:8000/frontend/ - Course Catalog:
http://localhost:8000/frontend/courses.php - Admin Panel:
http://localhost:8000/backend/public/admin_login.php - User Login:
http://localhost:8000/frontend/login.php
Admin Account:
- Email:
admin@creatorsspace.local - Password: (see
backend/sql/seed_admin.sqlfor the current default, or reset as needed)
Note: For security, the default admin password is set in the seed file. Change it immediately after setup for production use. See below for instructions to reset the admin password.
- Generate a password hash using PHP (run from project root or any PHP-enabled terminal):
# Windows (PowerShell)
C:\xampp\php\php.exe -r "echo password_hash('admin123', PASSWORD_DEFAULT) . PHP_EOL;"- Copy the output (the hashed password) and run this MySQL command to update the admin user (replace with the copied hash):
USE creators_space;
UPDATE users SET password_hash = '<HASH>' WHERE email = 'admin@creatorsspace.local' LIMIT 1;- Flush privileges if needed and then try logging in at the admin login page.
Alternatively, if you want me to reset it for you in the repository (update seed or run a script), say so and I will prepare a small PHP script to apply the change directly.
Test User Account:
- Email:
user@example.com - Password:
password123
β οΈ Security Note: Change default passwords immediately in production!
// Error: "Access denied for user"
// Solution: Check credentials in backend/config/db_connect.php
$DB_USER = 'your_mysql_username';
$DB_PASS = 'your_mysql_password';# Ensure proper server setup from project root
php -S localhost:8000
# Images should load from: /frontend/assets/images/
# Check image paths in database with:
php backend/update_course_images.php# Add sample data if database is empty
cd backend
php add_sample_data.php# Start development server
php -S localhost:8000
# Add sample data
php backend/add_sample_data.php
# Update course images
php backend/update_course_images.php
# Check database status
php backend/dashboard_stats.php- Desktop: Chrome, Firefox, Safari, Edge
- Mobile: iOS Safari, Android Chrome
- Responsive: All screen sizes 320px+
The system uses a robust MySQL database with comprehensive relationships:
- users - User accounts, profiles, and authentication
- courses - Course catalog with metadata and pricing
- lessons - Individual course modules and content
- enrollments - User course registrations and progress
- certificates - Digital certificates with verification codes
- blog_posts - Educational articles and content
- internships - Career opportunities and applications
- services - Platform services and offerings
- bookmarks - User saved courses
- newsletter_subscriptions - Email marketing
- campus_ambassador_applications - Ambassador program
- internship_applications - Career applications
- Foreign Key Constraints - Data integrity enforcement
- Automatic Timestamps - Created/updated tracking
- UTF8MB4 Encoding - Full Unicode support including emojis
- Indexed Columns - Optimized query performance
See backend/ER_ASCII.txt for detailed entity relationships and backend/sql/db_schema.sql for complete table definitions.
POST /backend/auth/signup_process.php- User registrationPOST /backend/auth/login_process.php- User loginGET /backend/auth/logout.php- User logoutPOST /backend/auth/forgot_password.php- Password reset requestPOST /backend/auth/reset_password.php- Password reset completion
GET /frontend/courses.php- Course catalog with filteringPOST /backend/enroll_course.php- Course enrollmentGET /backend/course_progress.php- Progress tracking
GET /backend/admin/dashboard.php- Admin dashboardGET /backend/admin/users.php- User managementPOST /backend/admin/course_management.php- Course administration
- Session Management: Secure PHP sessions with regeneration
- Password Security: Argon2 hashing with automatic salt generation
- Role-based Access: User/Instructor/Admin permission levels
- Secure Logout: Complete session cleanup
- SQL Injection Prevention: PDO prepared statements exclusively
- XSS Protection: HTML entity encoding and CSP headers
- CSRF Protection: Token validation on forms
- Input Validation: Server-side data sanitization
- Output Encoding: Context-aware encoding
- Rate Limiting: Brute force attack prevention
- Secure Headers: Security header implementation
- Database Security: Non-root database user
- File Upload Security: Type validation and secure storage
Detailed documentation is available for each component:
- Frontend Documentation: Client-side setup, features, and development guide
- Backend Documentation: Server-side setup, APIs, and database information
- Database Schema: Entity relationships and table structures
We welcome contributions from the community! This project is part of GirlScript Summer of Code 2025 (GSSoC'25).
- Fork the repository
- Clone your fork locally
- Create a new branch for your feature/fix
- Set up the development environment following the installation guide
# Clone your fork
git clone https://github.com/YOUR_USERNAME/Creators-Space-GroupProject.git
cd Creators-Space-GroupProject
# Install dependencies and setup database
./setup.bat # Windows
./setup.sh # Linux/Mac
# Create feature branch
git checkout -b feature/your-feature-name
# Make your changes and test
php -S localhost:8000
# Commit and push
git add .
git commit -m "feat: add your feature description"
git push origin feature/your-feature-name- PHP: Follow PSR-12 coding standards
- JavaScript: Use ES6+ with consistent formatting
- CSS: Use BEM methodology for class naming
- Database: Follow SQL naming conventions (snake_case)
- Comments: Document complex logic and API endpoints
- Test all new features thoroughly
- Verify mobile responsiveness on multiple devices
- Check cross-browser compatibility
- Validate form submissions and error handling
- Test with different user roles (User/Instructor/Admin)
- Update documentation for any new features
- Add screenshots for UI changes
- Test on multiple browsers/devices
- Link to related issues
- Request review from maintainers
See CONTRIBUTING.md for detailed guidelines.
Found a bug or have a feature request? We use GitHub Issues for tracking.
When reporting bugs, please include:
- Browser/Device information
- Steps to reproduce the issue
- Expected vs actual behavior
- Screenshots if applicable
- Console errors if any
- Use the feature request template
- Describe the use case clearly
- Explain the expected behavior
- Consider implementation complexity
Issue Tracker: GitHub Issues
- PHP: Server-side processing with excellent MySQL integration
- Vanilla JavaScript: Fast performance without framework overhead
- CSS Grid/Flexbox: Modern responsive layouts
- MySQL: Reliable data persistence with ACID compliance
- Separation of Concerns: Clear frontend/backend boundaries
- Database-Driven Content: Dynamic data with easy administration
- Mobile-First Design: Responsive from the ground up
- Security by Design: Multi-layer security implementation
- Lazy Loading: Images load as needed
- Database Indexing: Optimized query performance
- CSS/JS Minification: Reduced file sizes
- Image Optimization: WebP format support
- Modular Structure: Easy to extend with new features
- API-Ready: Backend can support REST API implementation
- Database Design: Normalized structure supports growth
- Cache-Friendly: Static assets with proper headers
- Use the bug report template
- Include steps to reproduce
- Provide system information
- Add screenshots if applicable
- Use the feature request template
- Describe the use case
- Explain the expected behavior
- Consider implementation complexity
This project is licensed under the MIT License - see the LICENSE file for details.
- GirlScript Summer of Code 2025 for platform and support
- Contributors who helped build and improve this platform
- Open Source Community for inspiration and best practices
- Educational Technology pioneers who paved the way
- Website: Creators-Space Platform
- GitHub Issues: Report Issues
- Email: contact@creatorsspace.local
- Documentation: See
frontend/andbackend/README files
- Mobile Applications: React Native iOS/Android apps
- Live Streaming: Real-time video classes and webinars
- Advanced Analytics: Machine learning insights and recommendations
- Multi-language Support: Internationalization for global reach
- Blockchain Certificates: Immutable credential verification
- Social Learning: Study groups and peer collaboration features
- White-label Solutions: Customizable platform for institutions
- API Marketplace: Third-party integrations and extensions
- Advanced LTI: Learning Tools Interoperability standard compliance
- Enterprise SSO: SAML/OAuth integration for organizations
- Advanced Proctoring: AI-powered exam monitoring
- Learning Analytics: Comprehensive learning outcome tracking
- Complete LMS: Fully functional learning management system
- Cloud Integration: AWS S3, PayHere, PHPMailer integrations
- Security: Enterprise-grade security implementation
- Scalability: Architecture supports thousands of concurrent users
- Mobile Optimized: Excellent mobile learning experience
- AI-Powered: Intelligent chatbot and recommendation system
- Performance: Sub-2-second page load times
- Availability: 99.9% uptime target with monitoring
- Security: OWASP compliant with regular security audits
- Documentation: Comprehensive technical documentation
- Testing: Automated testing and quality assurance
- Maintenance: Regular updates and security patches
If you find Creators-Space valuable, please β star this repository to show your support!
π Documentation β’ π€ Contributing β’ π Issues β’ π¬ Discussions
Empowering the next generation of tech innovators through quality education
Β© 2024 Creators-Space Team. Licensed under MIT License.
