How arunbhaskar94/streakchamp_server works
StreakChamp is a Firebase-backed study and gamification API. Clients call the Express server, which exposes account, quiz, mock-test, PYQ, reels, and supporting endpoints; route handlers return results and persist user progress. Internal layers provide authentication guards, question and user-data helpers, Firestore-backed stores, and question-bank maintenance. The README gives no capability details, so the route names and sampled code provide the available product evidence; unsampled route behavior is not expanded beyond those names and references.
Main entry points: server.js Express server · firebase.js Firebase services · local_file_functions.js Question and user helpers · Timer_functions.js Question maintenance
Components 22
API surface
- Express server
server.js - Ping and health
routes/ping.js - Admin API
routes/admin.js - Chat routes
routes/chat.js - Data updates
routes/updateData.js
Study features
- AI quizzes
routes/aiQuizRoutes.js - Mock tests
routes/mock.js - Past papers
routes/pyqs.js - Question reels
routes/reels.js - Bubble feature
routes/bubble.js - Chapter routes
routes/chapter.js
Identity and safety
- Account routes
routes/auth.js - Request guards
lib/guards.js
Persistence and maintenance
- Question and user helpers
res/local_file_functions.js - Question maintenance
res/Timer_functions.js - File store adapter
lib/fileStore.js - Firestore stores
lib/firestoreStore.js - Firebase services
lib/firebase.js - Firestore
- Firebase Auth
- Realtime Database
Other components
- API client
Connections 26
- API client → Express server: sends requests
server.js - Express server → Ping and health: routes to
server.js - Express server → Account routes: routes to
server.js - Express server → Admin API: routes to
server.js - Express server → AI quizzes: routes to
server.js - Express server → Mock tests: routes to
server.js - Express server → Past papers: routes to
server.js - Express server → Question reels: routes to
server.js - Express server → Bubble feature: routes to
server.js - Express server → Chapter routes: routes to
server.js - Express server → Chat routes: routes to
server.js - Express server → Data updates: routes to
server.js - Express server → Request guards: uses guards
server.js - Express server → Question maintenance: runs maintenance
server.js - Account routes → Question and user helpers: looks up users
routes/auth.js - AI quizzes → Firestore: reads and writes
routes/aiQuizRoutes.js - Mock tests → Firestore: reads and writes
routes/mock.js - Question and user helpers → Firestore stores: uses stores
res/local_file_functions.js - Question and user helpers → Firebase services: uses services
res/local_file_functions.js - Question maintenance → Question and user helpers: saves user data
res/Timer_functions.js - Question maintenance → Firebase services: uses services
res/Timer_functions.js - File store adapter → Firestore stores: selects store
lib/fileStore.js - Firestore stores → Firebase services: uses Firestore
lib/firestoreStore.js - Firebase services → Firestore: provides client
lib/firebase.js - Firebase services → Firebase Auth: provides client
lib/firebase.js - Firebase services → Realtime Database: provides client
lib/firebase.js