How pradipmishra1/secm works
SECM is a student engagement and challenge-management application. Organizers create challenges, review submissions, and announce winners; students discover and join challenges, submit work, and track results. The tree also shows profiles, teams, social features, messaging, announcements, analytics, and subscriptions. Sampled routes confirm database-backed profile, challenge, friendship, and winner operations, plus winner notifications and email. Most other route and page internals were not sampled, so their links are limited to capabilities indicated by the tree.
Main entry points: prisma.ts Application database · route.ts Winner announcements · challenges Challenge management · SubmitWorkForm.tsx Submission interface
Components 26
Challenge lifecycle
- Dashboard experience
src/app/dashboard - Challenge interface
src/components/ChallengeDetail.tsx - Challenge management
src/app/api/challenges - Submission interface
src/components/SubmitWorkForm.tsx - Submission handling
src/app/api/challenges/[id]/submissions - File uploads
src/app/api/upload/route.ts - Review and AI scoring
src/app/api/submissions/[id]/ai-review/route.ts - AI review logic
src/lib/aiReview.ts - Winner management
src/components/WinnersManager.tsx - Winner announcements
src/app/api/submissions/[id]/winner/route.ts
Community
- Profiles and activity
src/app/api/profile - Following and friends
src/app/api/friends/route.ts - Community features
src/components/FriendsManager.tsx - Announcements
src/app/api/announcements/route.ts - Messaging and alerts
src/app/api/messages
Platform services
- Cloudinary
- Authentication
src/lib/auth.ts - Application database
src/lib/prisma.ts - Notification service
src/lib/notifications.ts - Email service
src/lib/mailer.ts - Subscriptions
src/app/api/subscription - Khalti payments
Administration
- Administration
src/app/api/admin - Analytics and rankings
src/app/api/leaderboard/route.ts
Other components
- Student
- Organizer
Connections 32
- Student → Dashboard experience: uses
- Organizer → Dashboard experience: uses
- Dashboard experience → Challenge interface: opens
- Challenge interface → Challenge management: requests
- Organizer → Challenge management: creates
- Challenge management → Authentication: checks session
- Challenge management → Application database: creates challenge
- Student → Submission interface: submits work
- Submission interface → Submission handling: sends submission
- Submission interface → File uploads: uploads files
- File uploads → Cloudinary: uploads media
- Organizer → Review and AI scoring: reviews work
- Review and AI scoring → AI review logic: invokes
- Organizer → Winner management: selects winners
- Winner management → Winner announcements: sets position
- Winner announcements → Application database: updates winner
- Winner announcements → Notification service: notifies recipients
- Winner announcements → Email service: sends email
- Student → Profiles and activity: updates profile
- Profiles and activity → Authentication: checks session
- Profiles and activity → Application database: saves profile
- Student → Community features: connects
- Community features → Following and friends: requests friends
- Following and friends → Application database: reads and writes
- Following and friends → Notification service: creates alert
- Organizer → Announcements: posts updates
- Announcements → Application database: reads and writes
- Student → Messaging and alerts: messages
- Student → Subscriptions: subscribes
- Subscriptions → Khalti payments: initiates payment
- Organizer → Administration: administers
- Student → Analytics and rankings: views rankings