{"id":25494201,"url":"https://github.com/adygcode/classtracker-2025-s1","last_synced_at":"2025-11-09T03:30:33.125Z","repository":{"id":277153316,"uuid":"926905909","full_name":"AdyGCode/classtracker-2025-s1","owner":"AdyGCode","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-12T11:44:06.000Z","size":119,"stargazers_count":0,"open_issues_count":10,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T12:50:44.739Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/AdyGCode.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-02-04T04:02:32.000Z","updated_at":"2025-02-12T11:44:09.000Z","dependencies_parsed_at":"2025-02-12T13:02:07.597Z","dependency_job_id":null,"html_url":"https://github.com/AdyGCode/classtracker-2025-s1","commit_stats":null,"previous_names":["adygcode/classtracker-2025-s1"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2Fclasstracker-2025-s1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2Fclasstracker-2025-s1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2Fclasstracker-2025-s1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdyGCode%2Fclasstracker-2025-s1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdyGCode","download_url":"https://codeload.github.com/AdyGCode/classtracker-2025-s1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239565623,"owners_count":19660159,"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":[],"created_at":"2025-02-18T23:19:32.093Z","updated_at":"2025-11-09T03:30:33.080Z","avatar_url":"https://github.com/AdyGCode.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Student Cheat Sheet SaaS Application Mini Project Brief\n\n## Project Overview\nWeb-based system for managing student class rosters with photos and personal details, providing lecturers with visual cheat sheets for their sessions.\n\nThe project does NOT need a timetabling capability. It acts as a cheat sheet for lecturers.\n\n## Technical Stack\n- Laravel 11\n- PHP 8.3\n- SQL Database (Primary)\n- Optional: Livewire, MongoDB\n- GitHub for version control\n\n## Team Structure and Timeline\n- 4 team members\n- 3-week development timeline\n- Collaborative development via GitHub repository\n- Project management through GitHub Projects and Issues\n\n## Roles and Permissions\n\n### Role Hierarchy\n- Super Admin\n  - System configuration\n  - Role management\n  - Domain whitelist management\n- Admin\n  - User management\n  - Data import/export\n  - Backup management\n- Staff\n  - Session management\n  - Student approval\n  - Report generation\n- Student\n  - Profile management\n  - Change requests\n  - Photo submission\n\n### Permission Matrix\n| Permission               | SuperAdmin | Admin | Staff | Student |\n| ------------------------ | ---------- | ----- | ----- | ------- |\n| System Configuration     | ✓          | -     | -     | -       |\n| Manage Roles             | ✓          | -     | -     | -       |\n| Manage Domains           | ✓          | ✓     | -     | -       |\n| User Management          | ✓          | ✓     | -     | -       |\n| Backup Management        | ✓          | ✓     | -     | -       |\n| Import/Export            | ✓          | ✓     | -     | -       |\n| Class Session Management | ✓          | ✓     | ✓     | -       |\n| Approve Changes          | ✓          | ✓     | ✓     | -       |\n| View All Class Sessions  | ✓          | ✓     | -     | -       |\n| View Own Class Sessions  | ✓          | ✓     | ✓     | -       |\n| Edit Own Profile         | ✓          | ✓     | ✓     | ✓       |\n| Request Changes          | ✓          | ✓     | ✓     | ✓       |\n\n# Feature Requirements\n\n## Core Infrastructure\n- Laravel 11 based system\n- PHP 8.3 compatibility\n- SQL database (SQLite for development)\n- Secure file storage system\n- Domain email validation system\n- Automated backup system\n\n## Authentication \u0026 Authorization\n- Role-based access control:\n  - Super Admin: Full system access\n  - Admin: System management\n  - Staff: Class management\n  - Student: Personal profile access\n- Email verification system\n- Domain whitelist management\n- Password security requirements\n\n## User Management\n- Profile Requirements:\n  - Given and/or Family name (at least one required)\n  - Preferred name (optional)\n  - Preferred pronouns\n  - Valid email from approved domain\n  - Profile photo\n- Change request system for updates\n- Email verification and bounce checking\n\n## Image Management\n- Upload Requirements:\n  - PNG/JPG formats only\n  - Size: 250KB maximum\n  - Dimensions: 512x512px minimum, 1024x1024px maximum\n- Processing Features:\n  - Automatic resizing\n  - Interactive cropping interface\n  - AI-assisted face detection\n  - Head/shoulders positioning guide\n  - Web Cam capture interface\n  - Drag-and-drop upload\n- Storage Features:\n  - UUID-based file naming\n  - Secure storage location\n  - Download prevention\n  - Multiple image versions (original, processed, thumbnail)\n\n## Course Management\n- Data Structure:\n  - Packages (contains multiple courses)\n  - Courses (core, specialist, elective units)\n  - Units (part of courses and clusters)\n  - Clusters (1-8 units)\n- Import Capabilities:\n  - CSV/Excel file support\n  - Data validation\n  - Error handling\n  - Relationship verification\n\n## Session Management\n- Features:\n  - Course/Cluster assignment\n  - Start/End dates\n  - Duration tracking\n  - Lecturer assignment\n- Import Options:\n  - CSV/Excel import\n  - ICS feed integration\n  - Manual entry\n- Scheduling:\n  - Conflict detection\n  - Calendar interface\n  - Duration validation\n\n## Cheat Sheet Generation\n- Features:\n  - Student photos\n  - Names (Given, Family, Preferred)\n  - Pronouns\n  - Session-specific grouping\n  - Print optimization\n  - Layout customization\n\n## Data Import/Export\n- Import Validation:\n  - File format verification\n  - Schema validation\n  - Data type checking\n  - Relationship integrity\n  - Error reporting\n- Export Features:\n  - Full system backup\n  - Selective data export\n  - Multiple format support\n\n## System Administration\n- Backup Management:\n  - Daily automated backups\n  - 30-day retention\n  - Monthly archives\n  - Annual archives\n  - Integrity verification\n- System Configuration:\n  - Email domain management\n  - Role/Permission settings\n  - System parameters\n  - Import/Export settings\n\n## Development Requirements\n- Version Control:\n  - GitHub repository\n  - Branch protection rules\n  - Pull request workflow\n  - Code review process\n- Testing:\n  - Pest testing framework\n  - Required test coverage\n  - Integration tests\n  - Unit tests\n- Documentation:\n  - Code documentation\n  - API documentation\n  - User guides\n  - Setup instructions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadygcode%2Fclasstracker-2025-s1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadygcode%2Fclasstracker-2025-s1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadygcode%2Fclasstracker-2025-s1/lists"}