Skip to content

Creators-Space is an open-source modern tech-learning platform created to empower students and professionals through high-quality content and career-oriented resources

License

Notifications You must be signed in to change notification settings

PamudaUposath/Creators-Space-GroupProject

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🌐 Creators-Space E-Learning Management System

Creators-Space Logo

License: MIT PHP Version MySQL

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.

πŸš€ Major Update - PHP + MySQL Implementation

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/ and backend/ 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

πŸ“ Project Structure

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

✨ Features

πŸ” User Management

  • 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 Management

  • 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

πŸŽ“ Learning Features

  • 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

πŸ’Ό Career Services

  • 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

πŸ”§ Admin Panel

  • 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

πŸ›  Tech Stack

Frontend

  • Languages: HTML5, CSS3, JavaScript (ES6+), PHP
  • Styling: Custom CSS with responsive design
  • Icons: Font Awesome
  • Architecture: Progressive enhancement, mobile-first design

Backend

  • 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

Development

  • Version Control: Git
  • Server: Apache/Nginx or PHP built-in server
  • Development Tools: VS Code, phpMyAdmin, MySQL Workbench

πŸš€ Quick Start

Prerequisites

  • PHP 8.0 or higher
  • MySQL 8.0 or higher
  • Web server (Apache/Nginx) or PHP built-in server
  • Git (for cloning the repository)

1. Clone the Repository

git clone https://github.com/PamudaUposath/Creators-Space-GroupProject.git
cd Creators-Space-GroupProject

2. Database Setup

# 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

3. Configure Database Connection

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

4. Start Development Server

# Frontend (Port 8000)
cd frontend
php -S localhost:8000

# Backend (Port 8080) - In another terminal
cd backend/public
php -S localhost:8080

5. Access the Application

Default Admin Credentials


πŸ“Έ Screenshots

Homepage

Homepage

Admin Dashboard

Admin Dashboard

User Login

Login Page

Course Catalog

Courses


πŸ—οΈ Database Schema

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.


πŸ”’ Security Features

  • 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

πŸ“– Documentation

Detailed documentation is available for each component:


🀝 Contributing

We welcome contributions from the community! This project is part of GirlScript Summer of Code 2025 (GSSoC'25).

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Contribution Guidelines

  • 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.


πŸ› Issue Tracking

Found a bug or have a feature request? Please check our Issue Tracker.

Reporting Bugs

  • Use the bug report template
  • Include steps to reproduce
  • Provide system information
  • Add screenshots if applicable

Feature Requests

  • Use the feature request template
  • Describe the use case
  • Explain the expected behavior
  • Consider implementation complexity

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


🌟 Acknowledgments

  • 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

πŸ“ž Support & Contact


πŸš€ Future Roadmap

  • 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.

About

Creators-Space is an open-source modern tech-learning platform created to empower students and professionals through high-quality content and career-oriented resources

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 51.1%
  • CSS 27.2%
  • JavaScript 15.2%
  • HTML 5.4%
  • Other 1.1%