System Architecture
ViBe is a full-stack, serverless web application built for continuous active learning, designed to scale efficiently and support modular growth. It features a split frontend for students and admins, and a microservice-style backend using serverless Express functions deployed on Google Cloud.
🌐 Tech Stack Overview
Layer | Tech Used |
---|---|
Frontend | React (Vite) |
Backend | Express.js |
Database | MongoDB (Atlas) |
Auth | Google Firebase Authentication |
Hosting | Google Cloud Functions |
Storage | Firebase Storage (or GCP Buckets) |
⚙️ Serverless Architecture
The ViBe backend is composed of several independent Express modules, each deployed as a Google Cloud Function. This allows:
- Independent scaling of services
- Faster cold starts per function
- Logical separation of business concerns
📦 Backend Modules
Each backend service is a standalone Express app deployed as a serverless function:
auth
– Authentication & user verification (via Firebase)users
– Student/teacher datacourses
– Course structure, access controlquizzes
– Quiz content, question rotationgrader
– Scoring logic, bonus handlingactivity
– Monitoring video/screen presenceratings
– Feedback and engagement scoringai
– Question generation, hinting, proctoring checksmessenger
– Internal communication or alerting module
🎨 Frontend Layout
ViBe has two separate frontend apps:
- Student Frontend: The main learning interface
- Admin Frontend: Tools for teachers to add/edit content, track progress, review contributions