How code-plus-academy/front-end works
CPA is a Next.js frontend for Code Plus Academy, combining academic-resource discovery and sharing with social publishing, messaging, and creator features; it also exposes support, telemetry, and agent-facing endpoints. A typical learner journey is to browse or search notes by college, course, semester, and subject, open a resource, then download it. The graph also shows documented career and Explore content capabilities. Source excerpts establish several API integrations; other product areas are represented by their exact route directories, with uncertain internal wiring omitted.
Main entry points: route.js Resource download API · notesApi.js Notes API client · page.jsx Notes search page · searchEngine.js Search and autosuggest
Components 29
Academic resources
- Notes pages
app/notes - College and course hubs
app/notes/colleges - Notes search page
app/notes/search/page.jsx - Search and autosuggest
src/services/searchEngine.js - Resource detail
app/notes/resource/[resourceSlug]/page.jsx - Resource upload
app/notes/upload/page.jsx
Social and creator
- Social feed
app/feed/page.jsx - Posts and publishing
app/posts - Member profiles
app/profile - Direct messaging
app/direct - Creator dashboard
app/creator/dashboard/page.jsx - Explore content
app/explore - Videos and shorts
app/videos - Career listings
app/career
Platform APIs
- Notes API client
src/utils/notesApi.js - Media upload API
app/api/upload/media/route.js - Resource download API
app/api/download/[noteId]/route.js - Supabase content
src/lib/supabaseContent.js - MCP tool endpoint
app/api/mcp/route.js - Telemetry proxy
app/api/telemetry/batch/route.js - Link preview API
app/api/meta/preview/route.js
Support and operations
- Support pages
app/support - Support ticket API
app/api/support/route.js - Support gRPC client
src/grpc/client.js
Other components
- Visitor or member
- CPA backend API
- Remote file host
- CPA management service
- External websites
Connections 26
- Visitor or member → Notes pages: browses
- Visitor or member → College and course hubs: explores
- Visitor or member → Notes search page: searches
- Visitor or member → Resource detail: opens
- Visitor or member → Resource upload: uploads
- Visitor or member → Social feed: reads
- Visitor or member → Posts and publishing: publishes
- Visitor or member → Member profiles: views
- Visitor or member → Direct messaging: messages
- Visitor or member → Creator dashboard: manages
- Visitor or member → Explore content: discovers
- Visitor or member → Videos and shorts: watches
- Visitor or member → Career listings: browses
- Visitor or member → Support pages: requests help
- Notes search page → Search and autosuggest: searches via
- Search and autosuggest → Notes API client: fetches data
- Notes API client → CPA backend API: requests
- Media upload API → CPA backend API: forwards upload
- Resource download API → Supabase content: looks up note
- Resource download API → Notes API client: fallback lookup
- Resource download API → Remote file host: streams or redirects
- Support ticket API → Support gRPC client: creates ticket
- Support gRPC client → CPA management service: calls
- MCP tool endpoint → Visitor or member: serves tool protocol
- Telemetry proxy → CPA backend API: forwards events
- Link preview API → External websites: fetches metadata