How divyagoyal138/credimpact works
CredImpact is a student credit-management portal with an institutional admin console. Students authenticate, browse and apply to activities, track completion and CreditCoins, and manage their profile; administrators manage activities, review applicants, communicate, analyze institutional activity, and allocate credits. The Next.js client uses a shared API client to reach a Flask REST backend backed by PostgreSQL. README-documented capabilities are included where source excerpts were unavailable; those relationships are cited to the README rather than presented as inspected implementation details.
Main entry points: api.ts API Client · app.py REST API · layout.tsx Dashboard State · page.tsx Admin Console
Components 20
Student Portal
- Student Login
app/login/page.tsx - Dashboard State
app/dashboard/layout.tsx - Task Tracking
app/dashboard/page.jsx - Task Actions
components/TaskCard.jsx - Student Profile
app/dashboard/profile/page.tsx - CreditCoin Wallet
app/dashboard/cc-wallet/page.jsx - Achievement Portfolio
app/dashboard/my-portfolio/page.jsx - Events and Rankings
app/dashboard/events/page.jsx - Student Analytics
app/dashboard/analytics/page.jsx - Student Messaging
app/dashboard/chat/page.jsx
Institutional Admin
- Admin Console
app/admin-dashboard/page.tsx
Shared Client Platform
- API Client
lib/api.ts - Dashboard Shell
app/dashboard/layout.tsx - Dashboard Navigation
components/Sidebar.jsx - Theme State
lib/theme-context.tsx - Report Export
lib/exportUtils.ts
API and Persistence
- REST API
backend/app.py - PostgreSQL
backend/schema.sql
Other components
- Student
- Administrator
Connections 20
- Student → Student Login: authenticates through
README.md - Student Login → API Client: requests verification
app/login/page.tsx - API Client → REST API: calls REST endpoints
README.md - REST API → PostgreSQL: reads and writes
README.md - Dashboard State → API Client: loads dashboard data
app/dashboard/layout.tsx - Dashboard State → Dashboard Navigation: renders navigation
app/dashboard/layout.tsx - Task Tracking → Task Actions: renders task actions
app/dashboard/page.jsx - Task Actions → Dashboard State: invokes task handlers
components/TaskCard.jsx - Dashboard State → API Client: submits applications
app/dashboard/layout.tsx - Student Profile → API Client: updates profile
app/dashboard/profile/page.tsx - Student Analytics → Dashboard State: reads dashboard state
app/dashboard/analytics/page.jsx - Student Messaging → API Client: loads and sends messages
app/dashboard/chat/page.jsx - Administrator → Admin Console: manages institution
README.md - Admin Console → API Client: requests admin operations
app/admin-dashboard/page.tsx - Admin Console → Report Export: exports analytics
- Admin Console → REST API: manages tasks and allocations
README.md - CreditCoin Wallet → REST API: views credit transactions
README.md - Achievement Portfolio → REST API: views verified achievements
README.md - Events and Rankings → REST API: loads events and rankings
README.md - Theme State → PostgreSQL