An architecture design and conceptual model for EduSphere, a unified higher education platform created to manage course delivery, academic grading, and student-faculty workflows.
EduSphere is an academic management platform designed to centralize core university operations. Detailed functional and operational breakdowns are available in docs/01-system-overview.md.
- Purpose: Streamline coursework delivery, automate grade compilation, and enforce standardized access controls for academic records.
- Target Audience: Higher education institutions (students, faculty, administrative staff).
- Delivery Model: Web-based service backed by cloud object storage and relational databases.
| Role | Access Scope | Primary Actions |
|---|---|---|
| Student | Read-Only (Courses), Read/Write (Submissions) | View schedules, download course materials, submit assignments, track GPA/grades. |
| Faculty | Read/Write (Assigned Courses) | Publish syllabi, create assignments, grade student submissions, output internal rosters. |
| Admin | Read/Write (System-Wide) | Manage user identities, allocate group memberships, audit academic compliance. |
The system utilizes a standard three-tier client-server architecture with dedicated media and caching layers. Full architectural specifications can be found in docs/02-architecture.md.
- Frontend Layer: Preact SPA (Single Page Application) rendering web interface over HTTPS.
- Backend API Layer: Stateless Node.js / Go REST API for authentication (JWT), request routing, and business logic.
- Database Layer: PostgreSQL instance for relational metadata (user profiles, enrollment mappings, numerical grades) & Redis for session caching.
- Object Storage Layer: S3-compatible MinIO cluster for file artifacts (lecture PDFs, code submissions, assets).
Visual diagrams and assets are hosted under the diagrams/ directory (see diagrams/README.md for rendering details).
[ Client Layer ] [ Application Layer ] [ Data Layer ]
+------------------+ +-----------------------+ +--------------------------+
| Preact SPA App | --------> | Node.js REST API | -----> | Relational / NoSQL DB |
| (HTTPS Client) | HTTPS | Gateway & Auth Module | | (PostgreSQL / MongoDB) |
+------------------+ +-----------------------+ +--------------------------+
| Redis (Session & Cache) |
+--------------------------+
| MinIO S3 (PDFs & Media) |
+--------------------------+
- Frontend: Single Page Application rendering role-based views. UI mockups and wireframes are stored in mockups/ (see mockups/README.md).
- Backend Engine: Stateless REST API handling authentication (JWT), routing, and business logic.
- Relational Database: PostgreSQL storing user profiles, relational course mappings, and numerical grade logs.
- Cache & In-Memory Storage: Redis managing active sessions and high-frequency API responses.
- Object Storage: S3-compatible MinIO instance hosting uploaded assignment binaries and lecture files.
EduSphere complies with standard Information and Communications Technology (ICT) protocols and educational frameworks. Comprehensive security and compliance document is located at docs/03-ict-and-standards.md.
- ISTE Standards: International standards providing architectural alignment for digital learning environments and collaborative workflows.
- ISO/IEC 27001: Information security management standard governing data access, user authorization, and audit logging.
- TLS 1.3 / HTTPS: Enforced transport security for all payloads in transit between client browsers and API gateways.
- REST API / OpenAPI 3.0: Standardized interface definition contract for endpoint interactions.
- Data Privacy Regulations (GDPR Compliance): Strict operational isolation of Personally Identifiable Information (PII) across database layers.
- Client Submission: Student posts an assignment file via the web application interface.
- API Processing: The REST API authenticates the request via JWT and streams the binary payload to MinIO storage.
- Database Logging: Upon successful S3 upload, the backend creates a reference entry in PostgreSQL containing the file path, timestamp, and submission status.
- Faculty Audit: Faculty view updates in real-time, retrieving the submission record and executing grading scripts.
EduSphere/
├── README.md # Main system specification
├── docs/ # Architectural documentation ([https://github.com/itsVentie/EduSphere/tree/main/docs](https://github.com/itsVentie/EduSphere/tree/main/docs))
├── diagrams/ # System architecture diagrams ([https://github.com/itsVentie/EduSphere/tree/main/diagrams](https://github.com/itsVentie/EduSphere/tree/main/diagrams))
├── mockups/ # UI wireframes and interface mocks ([https://github.com/itsVentie/EduSphere/tree/main/mockups](https://github.com/itsVentie/EduSphere/tree/main/mockups))
└── presentation/ # Slide decks for project defence ([https://github.com/itsVentie/EduSphere/tree/main/presentation](https://github.com/itsVentie/EduSphere/tree/main/presentation))
└── edusphere-presentation.pptx
Project presentation slides and defense artifacts are available in the presentation/ directory (refer to presentation/README.md for presentation instructions).
EduSphere features a lightweight, interactive Web SPA prototype designed for demonstration and architectural evaluation.
- Production URL: https://edu.ventie.dev
To run the frontend interface prototype locally on your machine:
- Clone the repository:
git clone [https://github.com/itsVentie/EduSphere.git](https://github.com/itsVentie/EduSphere.git)
cd EduSphere/app
- Install dependencies:
pnpm install
- Start the local development server:
pnpm run dev
- Access the application:
Open your browser and navigate to
http://localhost:5173.