How shanmukht9/skillgraph works
1. Purpose and Application Shape
SkillGraph is a university talent-verification platform centered on proof-based student skills rather than CGPA. It presents role-specific dashboards for students, faculty, and recruiters, with the intended product model of a skill graph and recruiter-facing “Trust Ledger.” The repository currently contains a Next.js frontend plus a Supabase client integration; REST, AI, and graph backend implementations are not present in this tree.
2. Runtime and Entry Points
The application is a TypeScript Next.js App Router project. Global application framing and styling start at:
• app/layout.tsx
• app/globals.css
• app/page.tsx
app/page.tsx is the public landing/root route. The route filesystem under app/ defines all currently visible product flows.
3. Authentication Boundary
Authentication screens are isolated beneath the auth route segment:
• app/auth/login/page.tsx
• app/auth/signup/page.tsx
Supabase is the material external-service boundary and is initialized through:
• lib/supabase.ts
This client is the likely integration point for user identity, session state, and persisted platform data. The file tree does not show server-side auth middleware, API route handlers, or explicit role-enforcement logic; role-based access is presently represented primarily by separated dashboard routes.
4. Role-Based Dashboard Surface
The platform divides its primary experience by user role:
• app/dashboard/student/page.tsx
• app/dashboard/faculty/page.tsx
• app/dashboard/recruiter/page.tsx
This separation is architecture-defining: students build evidence-backed profiles, faculty administer or validate student activity, and recruiters consume searchable/verifiable candidate information. Navigation or post-login routing should select and protect these role-specific surfaces based on authenticated user metadata.
5. Student Skill-Profile Lifecycle
Student-facing routes define the profile construction workflow:
• app/dashboard/student/profile/page.tsx
• app/dashboard/student/skills/page.tsx
• app/dashboard/student/projects/page.tsx
The expected data flow is profile → declared/derived skills → projects as proof artifacts. These entities should ultimately feed the promised skill graph and trust model. AI-driven extraction and suggestions described in the README would naturally operate at the project/evidence-to-skill boundary, but no AI service or implementation is included.
6. Faculty Verification and Governance
Faculty operations are represented by:
• app/dashboard/faculty/students/page.tsx
• app/dashboard/faculty/requests/page.tsx
These routes imply a review boundary between student-submitted information and trusted institutional validation. Requests likely represent pending verification or administrative actions; approved outcomes should be the source of trust status exposed to recruiters. The concrete persistence schema and approval API are not present.
7. Recruiter Discovery and Trust Consumption
Recruiter capabilities are organized around candidate discovery and selection:
• app/dashboard/recruiter/search/page.tsx
• app/dashboard/recruiter/shortlist/page.tsx
The principal flow is search/filter over student skill evidence, inspect trusted profiles, then persist selected candidates in a shortlist. This is where graph-backed relationship queries—student, skill, project, verification, and institution—would be most consequential, though the repository currently exposes no graph database connector or query layer.
8. Missing Backend Boundaries
The README’s intended REST API, graph storage, AI layer, and university analytics are architectural targets rather than checked-in components. Current backend-facing code is limited to lib/supabase.ts. A downstream implementation should keep UI routes decoupled from data access, introduce authenticated role authorization at server boundaries, and model verification provenance separately from self-reported skills so recruiter trust decisions can be traced to evidence and faculty approval.
Main entry points: login/page.tsx Login · student/page.tsx Student dashboard · projects/page.tsx Project evidence · skills/page.tsx Skills
Components 20
Next.js app
App Router routes and shared framing.
- Global layout
app/layout.tsx - Global styles
app/globals.css - Public landing
app/page.tsx - Login
app/auth/login/page.tsx - Sign up
app/auth/signup/page.tsx - Supabase client · Current external identity and persistence boundary.
lib/supabase.ts
Student lifecycle
Profile evidence and skills workflow.
- Student dashboard
app/dashboard/student/page.tsx - Student profile
app/dashboard/student/profile/page.tsx - Skills
app/dashboard/student/skills/page.tsx - Project evidence
app/dashboard/student/projects/page.tsx
Faculty verification
Institutional review surface.
- Faculty dashboard
app/dashboard/faculty/page.tsx - Student administration
app/dashboard/faculty/students/page.tsx - Verification requests · Review boundary for pending student activity.
app/dashboard/faculty/requests/page.tsx
Recruiter workflow
Candidate discovery and selection.
- Recruiter dashboard
app/dashboard/recruiter/page.tsx - Candidate search
app/dashboard/recruiter/search/page.tsx - Shortlist
app/dashboard/recruiter/shortlist/page.tsx
Planned backend
Product targets not implemented in this repository.
- Server auth and roles · Required server-side authentication and role enforcement.
- Evidence and trust model · Separates self-reported skills from verification provenance.
- Skill graph queries · Relates students, skills, projects, institutions, and approvals.
- Evidence extraction · Derives skills or suggestions from project evidence.
Connections 26
- Global layout → Global styles: applies
- Global layout → Public landing: frames
- Public landing → Login: sign in
- Public landing → Sign up: register
- Login → Supabase client: identity/session
- Sign up → Supabase client: identity
- Login → Student dashboard: role-routed
- Login → Faculty dashboard: role-routed
- Login → Recruiter dashboard: role-routed
- Student dashboard → Student profile: manages
- Student dashboard → Skills: manages
- Student dashboard → Project evidence: manages
- Student profile → Skills: profile context
- Project evidence → Skills: proof supports skills
- Project evidence → Evidence extraction: extracts suggestions
- Faculty dashboard → Student administration: administers
- Faculty dashboard → Verification requests: reviews
- Verification requests → Evidence and trust model: approval provenance
- Skills → Evidence and trust model: declared skills
- Project evidence → Evidence and trust model: evidence
- Recruiter dashboard → Candidate search: discovers
- Recruiter dashboard → Shortlist: selects
- Candidate search → Skill graph queries: relationship queries
- Evidence and trust model → Skill graph queries: trusted relationships
- Candidate search → Shortlist: candidate selection
- Server auth and roles → Supabase client: protects access via