feat: corpus integration + verification engine
Merge Request: Corpus Integration & Standup Verification Engine
📌 Summary
This merge request introduces the Swecha Corpus Integration Layer and the Standup Audio Verification Engine for the Team-wise Standup Audio Submission Checker project.
The implementation provides reusable service functions that allow the application to fetch intern details, retrieve audio metadata, and verify whether interns have uploaded the required standup audio submissions under the standup category and internship domain.
This MR focuses only on backend service logic and utilities, enabling parallel development for the Team Management and Dashboard UI modules without dependency conflicts.
🚀 Changes Introduced
✅ Corpus Service Layer
- Added
searchInternById()for fetching intern data. - Added
getInternAudios()to retrieve audio metadata. - Created a modular API integration structure under:
src/services/corpus/
✅ Verification Utility
- Implemented
verifyStandupSubmission()logic:- Filters audio files by:
- category = "standup"
- tag/domain = "internship"
- Validates minimum requirement of 4 audio files.
- Returns structured submission status.
- Filters audio files by:
Files added:
src/utils/verification/verifyStandup.ts
src/utils/verification/index.ts
🧱 Technical Notes
- Uses async/await pattern.
- Mock API responses included to allow independent UI and team-module development.
- Functions exported through index files for clean imports.
- No UI or team-management code modified.
🔍 Verification Logic
The verification engine returns:
{
internId: string,
validCount: number,
status: "COMPLETED" | "PENDING"
}
Status Rules:
- COMPLETED → ≥ 4 valid standup internship audios
- PENDING → Less than 4 valid audios
🧪 Testing
- Verified mock data flow works without backend dependency.
- Confirmed exported functions can be consumed by other modules.
- No breaking changes introduced.
⚠ ️ Scope
This MR includes only:
- Corpus integration services
- Verification utilities
Out of scope:
- Team Management module
- Dashboard UI components
- State management logic
📈 Impact
- Enables dashboard developers to display submission status.
- Allows team module to integrate verification checks later.
- Establishes the core service layer for Swecha Corpus communication.
👨 💻 Author
Lakshy Yarlagadda