What is StudentHub?#
StudentHub is an open-source platform for managing corporate trainee programs. It streamlines the recruitment, placement, time tracking, and payment processing for trainees, connecting companies, candidates, staff, and administrators through a unified system.
High-Level Features#
Features are organized by user role. For the most up-to-date and detailed list, see docs/user-roles.md.
Candidates
- Submit identity documents, bank details, and the required "Tanazol" agreement
- Get assigned to a host company
- Report working hours via timesheets and work logs
- Receive notifications about assignments and payments
Companies
- Sign contracts for fixed trainee hourly rates
- View assigned trainees
- Create and verify monthly transfer requests for trainee work hours
- Receive receipts and notifications after administrative processing
Staff
- Create and manage candidate accounts
- Assign and unassign candidates to companies
- Review candidate applications and documentation
- Support user inquiries
Admin
- Manage user accounts and permissions
- Approve transfer requests
- Send receipts to employers
- Process payments and transfer salaries
- Generate system reports
Note: There are also Inspector and (TBD) Manager roles. Inspectors handle compliance and audits. For details, see
docs/user-roles.md.
Repository Structure#
StudentHub is organized into five main repositories, each serving a distinct role:
- studenthub: The core backend (Yii2) exposing APIs for all user roles. Contains business logic, domain models, cron jobs, analytics, and database/schema documentation.
- studenthub-admin: Ionic/Capacitor frontend for administrators, supporting user management, reporting, and finance workflows.
- studenthub-company: Company-facing Ionic app for managing trainees, approving transfer requests, and viewing receipts.
- studenthub-staff: Staff operations app for recruiters, including candidate onboarding and assignment management.
- studenthub-candidate: Trainee-facing Ionic app for submitting documentation, viewing assignments, and reporting work hours.
All frontend apps consume the centralized API provided by the studenthub backend.
Where to Start?#
- Quickstart: See
docs/quickstart.mdxfor instructions on running the platform locally, including Docker setup and API endpoints for each user role. - Architecture: As of now, there is no dedicated architecture document. For an overview, refer to the
README.mdand explore the repo structure. If you need more detail, check the backend'sdocs/directory or consider contributing adocs/architecture.md.
If you encounter unclear or undocumented features, consult the relevant source code or open an issue for clarification.