Verifying session...

ZW

Zeming's Control Hub

RWTH Aachen University • Academic & Dev Hub

Welcome back, {{ currentUser.username }}.

You are signed in as administrator. Every new tool you develop will automatically integrate as a module into this dashboard. You are signed in as viewer. You can browse content but cannot make changes.

{{ apiOnline ? 'API Online' : 'API Offline' }}
{{ currentTime }}
Online

Exam Schedule Dashboard

Personalized exam preparation system for Sommersemester 2026. Includes progress tracking, ECTS analysis, and AI-driven study strategies.

Enter System
Dev Stage

Study Datahub API

Backend database interface (now live!). Stores exam states, notes, and uploaded files on your VPS — replacing LocalStorage for cross-device sync.

View API Architecture
Locked

AI Error Analysis Engine

Planned OpenAI/Gemini integration. Input exam questions to automatically generate explanations and archive knowledge points.

Coming Soon
Locked

GPA Tracker & Predictor

Dynamically calculates your current average based on passed subjects and predicts the target scores needed to achieve a 1.X average.

Coming Soon

System Logs

{{ log.time }} [{{ log.type }}] {{ log.message }}

Datahub API — Now Live

The backend is now running on your Ubuntu VPS with JWT authentication. All data is stored server-side with three-tier access control.

POST /api/login PUBLIC

Authenticates user, returns JWT token valid for 7 days.

// Request
{ "username": "ZemingWang", "password": "***" }

// Response
{ "token": "eyJ...", "user": { "role": "admin" } }
GET /api/states AUTH (any role)

Returns all exam states, notes, and flags. Both admin and viewer can read.

POST /api/states/:lv_nummer ADMIN ONLY

Updates exam status, materials, notes. Viewer accounts get 403.

POST /api/files/upload ADMIN ONLY

Uploads study materials (PDF, DOCX, images) — stored under /home/administrator/server/uploads/.

Live Tech Stack:
Runtime: Node.js v20 + Express
Database: SQLite (via better-sqlite3, WAL mode)
Auth: JWT (HS256) + bcryptjs (12 rounds)
Process Manager: PM2 with systemd boot integration
File Storage: Local disk + metadata in DB