https://github.com/adygcode/classtracker-2025-s1
https://github.com/adygcode/classtracker-2025-s1
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/adygcode/classtracker-2025-s1
- Owner: AdyGCode
- Created: 2025-02-04T04:02:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-12T11:44:06.000Z (over 1 year ago)
- Last Synced: 2025-02-12T12:50:44.739Z (over 1 year ago)
- Language: PHP
- Size: 116 KB
- Stars: 0
- Watchers: 1
- Forks: 5
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Student Cheat Sheet SaaS Application Mini Project Brief
## Project Overview
Web-based system for managing student class rosters with photos and personal details, providing lecturers with visual cheat sheets for their sessions.
The project does NOT need a timetabling capability. It acts as a cheat sheet for lecturers.
## Technical Stack
- Laravel 11
- PHP 8.3
- SQL Database (Primary)
- Optional: Livewire, MongoDB
- GitHub for version control
## Team Structure and Timeline
- 4 team members
- 3-week development timeline
- Collaborative development via GitHub repository
- Project management through GitHub Projects and Issues
## Roles and Permissions
### Role Hierarchy
- Super Admin
- System configuration
- Role management
- Domain whitelist management
- Admin
- User management
- Data import/export
- Backup management
- Staff
- Session management
- Student approval
- Report generation
- Student
- Profile management
- Change requests
- Photo submission
### Permission Matrix
| Permission | SuperAdmin | Admin | Staff | Student |
| ------------------------ | ---------- | ----- | ----- | ------- |
| System Configuration | ✓ | - | - | - |
| Manage Roles | ✓ | - | - | - |
| Manage Domains | ✓ | ✓ | - | - |
| User Management | ✓ | ✓ | - | - |
| Backup Management | ✓ | ✓ | - | - |
| Import/Export | ✓ | ✓ | - | - |
| Class Session Management | ✓ | ✓ | ✓ | - |
| Approve Changes | ✓ | ✓ | ✓ | - |
| View All Class Sessions | ✓ | ✓ | - | - |
| View Own Class Sessions | ✓ | ✓ | ✓ | - |
| Edit Own Profile | ✓ | ✓ | ✓ | ✓ |
| Request Changes | ✓ | ✓ | ✓ | ✓ |
# Feature Requirements
## Core Infrastructure
- Laravel 11 based system
- PHP 8.3 compatibility
- SQL database (SQLite for development)
- Secure file storage system
- Domain email validation system
- Automated backup system
## Authentication & Authorization
- Role-based access control:
- Super Admin: Full system access
- Admin: System management
- Staff: Class management
- Student: Personal profile access
- Email verification system
- Domain whitelist management
- Password security requirements
## User Management
- Profile Requirements:
- Given and/or Family name (at least one required)
- Preferred name (optional)
- Preferred pronouns
- Valid email from approved domain
- Profile photo
- Change request system for updates
- Email verification and bounce checking
## Image Management
- Upload Requirements:
- PNG/JPG formats only
- Size: 250KB maximum
- Dimensions: 512x512px minimum, 1024x1024px maximum
- Processing Features:
- Automatic resizing
- Interactive cropping interface
- AI-assisted face detection
- Head/shoulders positioning guide
- Web Cam capture interface
- Drag-and-drop upload
- Storage Features:
- UUID-based file naming
- Secure storage location
- Download prevention
- Multiple image versions (original, processed, thumbnail)
## Course Management
- Data Structure:
- Packages (contains multiple courses)
- Courses (core, specialist, elective units)
- Units (part of courses and clusters)
- Clusters (1-8 units)
- Import Capabilities:
- CSV/Excel file support
- Data validation
- Error handling
- Relationship verification
## Session Management
- Features:
- Course/Cluster assignment
- Start/End dates
- Duration tracking
- Lecturer assignment
- Import Options:
- CSV/Excel import
- ICS feed integration
- Manual entry
- Scheduling:
- Conflict detection
- Calendar interface
- Duration validation
## Cheat Sheet Generation
- Features:
- Student photos
- Names (Given, Family, Preferred)
- Pronouns
- Session-specific grouping
- Print optimization
- Layout customization
## Data Import/Export
- Import Validation:
- File format verification
- Schema validation
- Data type checking
- Relationship integrity
- Error reporting
- Export Features:
- Full system backup
- Selective data export
- Multiple format support
## System Administration
- Backup Management:
- Daily automated backups
- 30-day retention
- Monthly archives
- Annual archives
- Integrity verification
- System Configuration:
- Email domain management
- Role/Permission settings
- System parameters
- Import/Export settings
## Development Requirements
- Version Control:
- GitHub repository
- Branch protection rules
- Pull request workflow
- Code review process
- Testing:
- Pest testing framework
- Required test coverage
- Integration tests
- Unit tests
- Documentation:
- Code documentation
- API documentation
- User guides
- Setup instructions