Creators-Space is a comprehensive e-learning management system built with PHP and MySQL, designed to empower the next generation of tech innovators through quality education and hands-on learning experiences.
This project has been completely restructured and upgraded from a static HTML/localStorage system to a full-featured PHP + MySQL web application with:
- β
Backend Architecture: Organized into
frontend/
andbackend/
directories - β User Authentication: Secure login/signup with password hashing and session management
- β Admin Panel: Complete administrative dashboard for user and content management
- β Database Integration: MySQL database with proper relationships and constraints
- β Security Features: CSRF protection, rate limiting, secure password reset
- β Role-based Access: User, Instructor, and Admin roles with appropriate permissions
Creators-Space-GroupProject/
βββ frontend/ # Client-facing application
β βββ index.php # Homepage
β βββ login.php # User login
β βββ signup.php # User registration
β βββ courses.php # Course catalog
β βββ profile.php # User profile
β βββ assets/ # Images, CSS, JS
β βββ src/ # Source files
β βββ README.md # Frontend documentation
βββ backend/ # Server-side application
β βββ public/ # Public backend entry points
β β βββ admin_login.php # Admin login
β βββ auth/ # Authentication endpoints
β β βββ signup_process.php
β β βββ login_process.php
β β βββ logout.php
β β βββ forgot_password.php
β β βββ reset_password.php
β βββ admin/ # Admin panel
β β βββ dashboard.php
β β βββ users.php
β βββ config/ # Configuration
β β βββ db_connect.php
β βββ sql/ # Database files
β β βββ db_schema.sql
β β βββ seed_admin.sql
β βββ lib/ # Helper libraries
β βββ ER_ASCII.txt # Database ER diagram
β βββ README.md # Backend documentation
βββ docs/ # Documentation and screenshots
β βββ INSTALL.md # Installation guide
β βββ STATUS.md # Project status
β βββ *.png # Screenshot files
βββ setup.bat # Windows setup script
βββ setup.sh # Linux/macOS setup script
βββ .gitignore
βββ CODE_OF_CONDUCT.md
βββ CONTRIBUTING.md
βββ LICENSE
βββ README.md # This file
- Secure Authentication: Registration, login, logout with session management
- Password Security: Hashed passwords using PHP's
password_hash()
- Password Reset: Secure token-based password reset via email
- Role-based Access: User, Instructor, and Admin roles
- Profile Management: Users can manage their profiles and preferences
- Course Catalog: Browse and search available courses
- Enrollment System: Users can enroll in courses
- Progress Tracking: Track learning progress and completion
- Certificates: Generate certificates upon course completion
- Bookmarking: Save courses for later reference
- Interactive Lessons: Structured course content with video support
- Projects Portfolio: Showcase user projects and work
- Skills Tracking: Track and display user skills and achievements
- Blog System: Educational articles and tech insights
- Internship Portal: Browse and apply for internship opportunities
- Campus Ambassador Program: Student ambassador applications
- Career Guidance: Professional development resources
- Networking: Connect with instructors and peers
- User Management: Manage users, roles, and permissions
- Course Administration: Create, edit, and manage courses
- Analytics Dashboard: User engagement and platform statistics
- Content Management: Blog posts, internships, and services
- System Monitoring: Security logs and activity tracking
- Languages: HTML5, CSS3, JavaScript (ES6+), PHP
- Styling: Custom CSS with responsive design
- Icons: Font Awesome
- Architecture: Progressive enhancement, mobile-first design
- Language: PHP 8.0+
- Database: MySQL 8.0+ / MariaDB 10.4+
- Session Management: PHP Sessions
- Security: PDO prepared statements, CSRF protection, rate limiting
- Architecture: RESTful API design, MVC-inspired structure
- Version Control: Git
- Server: Apache/Nginx or PHP built-in server
- Development Tools: VS Code, phpMyAdmin, MySQL Workbench
- PHP 8.0 or higher
- MySQL 8.0 or higher
- Web server (Apache/Nginx) or PHP built-in server
- Git (for cloning the repository)
git clone https://github.com/PamudaUposath/Creators-Space-GroupProject.git
cd Creators-Space-GroupProject
# Create MySQL database
mysql -u root -p
CREATE DATABASE creators_space;
exit
# Import schema and seed data
mysql -u root -p creators_space < backend/sql/db_schema.sql
mysql -u root -p creators_space < backend/sql/seed_admin.sql
Edit backend/config/db_connect.php
:
$DB_HOST = '127.0.0.1';
$DB_NAME = 'creators_space';
$DB_USER = 'root'; // Your MySQL username
$DB_PASS = ''; // Your MySQL password
# Frontend (Port 8000)
cd frontend
php -S localhost:8000
# Backend (Port 8080) - In another terminal
cd backend/public
php -S localhost:8080
- Frontend: http://localhost:8000
- Admin Panel: http://localhost:8080/admin_login.php
- Email:
[email protected]
- Password:
password
(change this immediately!)
The system uses a well-structured MySQL database with the following key entities:
- Users: Authentication and profile information
- Courses: Course content and metadata
- Lessons: Individual course modules
- Enrollments: User-course relationships
- Certificates: Completion certificates
- Internships: Career opportunities
- Blog Posts: Educational content
See backend/ER_ASCII.txt
for detailed entity relationships and constraints.
- Authentication: Secure session-based authentication
- Password Security: Hashed passwords with salt
- SQL Injection Prevention: PDO prepared statements
- XSS Protection: Input sanitization and output escaping
- CSRF Protection: Token-based form protection
- Rate Limiting: Brute force attack prevention
- Secure Password Reset: Time-limited token system
- Role-based Authorization: Protected admin areas
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
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow the existing code style and structure
- Write clear commit messages
- Add documentation for new features
- Test your changes thoroughly
- Ensure security best practices
See CONTRIBUTING.md for detailed guidelines.
Found a bug or have a feature request? Please check our Issue Tracker.
- 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: [email protected]
- Documentation: See
frontend/
andbackend/
README files
- Mobile App: React Native or Flutter mobile application
- Video Streaming: Integrated video hosting and streaming
- Payment Integration: Course purchase and subscription system
- Discussion Forums: Community discussion and Q&A
- Live Classes: Real-time video learning sessions
- AI Recommendations: Personalized course recommendations
- Multi-language Support: Internationalization and localization
- API Documentation: Comprehensive API documentation with Swagger
Made with β€οΈ by the Creators-Space Team
Empowering the next generation of tech innovators through quality education and hands-on learning.