Learning, paid mentorship with escrow, server-scored assessment, verifiable credentials and hiring — across student, mentor, coordinator and employer. Sample records throughout.
Learning path
- 1Foundation
- 2Specialization
- 3Peer review
- 4Benchmark
- 5Credential
data model Module
path_typeenumfoundation · specializationmodule_typeenumcore · major · elective · capstonecredit_points / estimated_hoursnumbersequence_ordernumberlearning_objectivesarraySkills benchmark
Scored on the server. A browser cannot be trusted with its own result.
Sample result by area
data model AssessmentSession
statusenumpending · active · submitted · flaggedtab_switch_countnumberintegrity signal, recorded not punished automaticallytime_remaining_secondsnumberserver-held, so a refresh does not grant more timestarted_at / submitted_attimestampServer-side scoring and a server-held clock were two of the fixes from the security remediation.
Mentorship marketplace
| Mentor | Focus | Rate | Availability |
|---|---|---|---|
| Mentor 01 | operations | sample | available |
| Mentor 02 | finance | sample | available |
| Mentor 03 | go-to-market | sample | booked |
From application to review
- 1Application
- 2Plan agreed
- 3Contract sent for signature
- 4Escrow funded
- 5Sessions
- 6Milestone released
- 7Engagement completed
- 8Review
Engagement & escrow
Engagement
- Mentor
- Mentor 01
- Status
- active
- Sessions
- 4 of 8 completed
- Renewals
- 0
Escrow
- Status
- funded
- Amount
- sample
- Platform fee
- sample %
- Net to mentor
- sample
data model EscrowTransaction
statusenumpending_deposit · funded · released · refunded · disputed · partially_releasedplatform_fee / fee_percentage / net_amountnumberfunded_at / released_at / refunded_attimestampwhen it goes wrong Dispute
dispute_typeenumquality · non_delivery · scope_change · payment · communication · otherdesired_resolutionenumfull_release · partial_release · full_refund · partial_refund · revisionstatusenumopen · under_review · resolved · escalatedresolution_typeenumfull_release · partial_release · full_refund · partial_refund · mutual_cancellationevidence_filesarrayMoney sitting between two strangers is the hard part of a marketplace. Partial release and mutual cancellation exist because most disputes are not all-or-nothing.
Verifiable credentials
- Certificate number
- DEMO-0000-0000
- Tier
- high_pass
- Status
- active
- Issued
- sample date
- Expires
- sample date
data model Credential
credential_type / specialization_pathsstring · arrayexam_tierenumdistinction · high_pass · passstatusenumactive · expiring_soon · expired · renewed · suspendedxp_at_issuancenumberfrozen, so later activity cannot rewrite the awardis_verified / suspended_reasonboolean · stringThe verification page is public, so an employer can check a credential without an account.
Job board, apprenticeships & match scores
| Role | Applicants | Top match | Stage |
|---|---|---|---|
| Sample role A | 18 | 84% | applied |
| Sample role B | 7 | 71% | interviewing |
| Apprenticeship 01 | 22 | 90% | pending |
data model JobApplication · ApprenticeshipApplication
job statusenumsaved · applied · interviewing · offer · rejected · withdrawnapprenticeship statusenumpending · accepted · declined · withdrawnlearning_goals / portfolio_previewarray · reffollow_up_datedateMatch scores and the generated apprenticeship reports come from the AI tools; the figures here are placeholders.
Security remediation
The engagement this project is known for.
- Role guards on every routeaccess control
Authorization checked server-side, not by hiding a menu item.
- IDOR fixesobject ownership
Every record read checks who is asking for it.
- Server-side scoringassessment integrity
- Upload validationfile handling
- Security headers and a central error handlerhardening
Errors stopped leaking stack traces to the client.