{"id":25809912,"url":"https://github.com/aliyara290/golearning","last_synced_at":"2026-04-29T09:03:27.540Z","repository":{"id":272902433,"uuid":"915992361","full_name":"aliyara290/GoLearning","owner":"aliyara290","description":"GoLearning is an online learning platform designed to offer an interactive and personalized educational experience for both students and teachers. The platform includes a wide range of features tailored for different user roles to ensure a seamless learning process.","archived":false,"fork":false,"pushed_at":"2025-01-21T22:19:33.000Z","size":923,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T07:15:14.907Z","etag":null,"topics":["course","learning","online-learning","oop","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aliyara290.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-13T08:50:29.000Z","updated_at":"2025-01-21T22:19:38.000Z","dependencies_parsed_at":"2025-01-17T10:35:11.130Z","dependency_job_id":"aba19fd8-be29-4b25-9fc5-d3496869ca05","html_url":"https://github.com/aliyara290/GoLearning","commit_stats":null,"previous_names":["aliyara290/golearning"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aliyara290/GoLearning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliyara290%2FGoLearning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliyara290%2FGoLearning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliyara290%2FGoLearning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliyara290%2FGoLearning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aliyara290","download_url":"https://codeload.github.com/aliyara290/GoLearning/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliyara290%2FGoLearning/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260301992,"owners_count":22988721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["course","learning","online-learning","oop","php"],"created_at":"2025-02-27T23:34:22.946Z","updated_at":"2026-04-29T09:03:22.490Z","avatar_url":"https://github.com/aliyara290.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoLearning - Online Course Platform\n\nGoLearning is an online learning platform designed to offer an interactive and personalized educational experience for both students and teachers. The platform includes a wide range of features tailored for different user roles to ensure a seamless learning process.\n\n## Main Features\n\n### Front Office:\n\n#### Visitor:\n- Access to the course catalog with pagination.\n- Search for courses using keywords.\n- Create an account and choose a role (Student or Teacher).\n\n#### Student:\n- Browse the course catalog.\n- Search and view detailed course information (description, content, instructor, etc.).\n- Enroll in courses after authentication.\n- Access the \"My Courses\" section to view enrolled courses.\n\n#### Teacher:\n- Add new courses with details such as:\n  - Title, description, content (video or document), tags, and category.\n- Manage courses:\n  - Modify, delete, and view student enrollments.\n- View course statistics:\n  - Number of students enrolled, total courses, etc.\n\n### Back Office:\n\n#### Administrator:\n- Validate teacher accounts.\n- Manage users:\n  - Activate, suspend, or delete user accounts.\n- Manage content:\n  - Courses, categories, and tags.\n- Bulk insertion of tags for efficiency.\n- View global statistics:\n  - Total number of courses, category distribution, top 3 teachers, most popular courses, etc.\n\n### Cross-functional Features:\n- Courses can have multiple tags (many-to-many relationship).\n- Polymorphism applied for course creation and display.\n- Authentication and authorization system for secure routes and data.\n- Role-based access control: each user can only access features corresponding to their role.\n\n## Technical Requirements:\n- Object-Oriented Programming (OOP) principles:\n  - Encapsulation, inheritance, polymorphism.\n- Relational database with relationship management (one-to-many, many-to-many).\n- PHP sessions for managing logged-in users.\n- Input validation to ensure security and integrity.\n\n### Bonus Features:\n- Advanced course search with filters (category, tags, author).\n- Detailed statistics:\n  - Engagement rate, most popular categories, etc.\n- Notification system for:\n  - Teacher account validation and course enrollment confirmation.\n- Comment and rating system for courses.\n- PDF certificate generation for students upon course completion.\n\n## Setup Instructions\n\n### Clone the Repository:\n```bash\ngit clone https://github.com/aliyara290/GoLearning.git\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliyara290%2Fgolearning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faliyara290%2Fgolearning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliyara290%2Fgolearning/lists"}