How king130/capstone works
This is a multi-role internship and OJT management platform: students discover placements and apply; host organizations and schools manage applications, placement terms, schedules, and hours; administrators govern organizations, access, and subscriptions. The graph groups the user-facing entry points with the principal domain stages and their backend ownership. Several capabilities are represented from the repository tree rather than inspected implementation; their relationships are omitted or marked unverified. The README is empty, so capability context comes from the file tree and sampled source.
Main entry points: ApplicationController.php Applications · main.ts Vue application · auth.ts Authentication state · Organization.php Organization profiles
Components 22
Application entry
- Vue application
src/main.ts - Role-based routing
src/router/index.ts - Authentication state
src/stores/auth.ts - Auth API service
src/services/auth.ts
Internship opportunities
- Opportunity directory
src/composables/browseDirectory/useBrowseDirectory.ts - Internship listings
backend/app/Http/Controllers/InternshipController.php - Internship eligibility
backend/app/Services/InternshipEligibilityService.php
Application and placement
- Applications
backend/app/Http/Controllers/ApplicationController.php - Application records
backend/app/Models/Application.php - Application progress
backend/app/Services/ApplicationTracker.php - Hours agreements
backend/app/Services/HoursAgreementService.php - Agreement records
backend/app/Models/ApplicationHoursAgreement.php - Placement schedules
backend/app/Services/PlacementScheduleService.php
OJT tracking
- OJT attendance and logs
backend/app/Http/Controllers/OjtAttendanceController.php - OJT interface services
src/services/ojtService.ts
Organizations and platform
- User and student accounts
backend/app/Models/User.php - Organization profiles
backend/app/Models/Organization.php - Organization access
src/components/OrganizationAccessManager.vue - Subscription management
src/components/SubscriptionManager.vue - Subscription checkout API
src/services/subscriptions.ts - Administration
backend/app/Http/Controllers/AdminController.php
Other components
- Students and staff
Connections 18
- Students and staff → Vue application: uses
- Vue application → Role-based routing: installs
src/main.ts - Vue application → Authentication state: initializes
src/main.ts - Role-based routing → Authentication state: checks access
src/router/index.ts - Authentication state → Auth API service: authenticates
src/stores/auth.ts - Opportunity directory → Internship listings: loads opportunities
src/composables/browseDirectory/useBrowseDirectory.ts - Internship listings → Internship eligibility: checks eligibility
backend/app/Http/Controllers/InternshipController.php - Applications → Application records: creates and updates
backend/app/Http/Controllers/ApplicationController.php - Applications → Internship eligibility: checks eligibility
backend/app/Http/Controllers/ApplicationController.php - Applications → Application progress: updates progress
backend/app/Http/Controllers/ApplicationController.php - Applications → Hours agreements: coordinates terms
backend/app/Http/Controllers/ApplicationController.php - Application records → Agreement records: has agreement
backend/app/Models/Application.php - Applications → Placement schedules: manages schedules
- OJT interface services → OJT attendance and logs: submits attendance
- User and student accounts → Organization profiles: has memberships
backend/app/Models/User.php - Organization access → Organization profiles: manages access
- Subscription management → Subscription checkout API: starts and verifies checkout
src/components/SubscriptionManager.vue - Administration → Organization profiles: administers