Build a High‑Performance Java + Vue Online Exam System from Scratch
This article introduces an open‑source, Java‑backed and Vue‑fronted online exam platform, detailing its student and admin features, mini‑program support, technology stack, deployment options, usage steps, architecture diagram, screenshots, and source code download links.
Project Introduction
The online exam system is a Java + Vue full‑stack application with a clear code structure, easy development and deployment, friendly UI, and support for web and WeChat mini‑programs, covering PC and mobile devices. It offers integrated, front‑end/back‑end separated, and Docker deployment modes.
Student System Features
Login/registration (grade selection, filter exams, default account student/123456)
Home page with task center, fixed exams, timed exams, and available exams
Exam Center: all available exams, filterable by subject with pagination
Exam Records: view results, duration, scores, and self‑grading
Wrong‑Question Book: view incorrect questions with results, difficulty, analysis, and correct answers
Personal Center: personal logs
Messages: notifications
Exam Paper: display question details and input fields
Admin System Features
Login (admin/123456)
Dashboard: statistics of exams, questions, attempts, user activity (monthly)
User Management: CRUD for students, teachers, admins
Exam Paper Management: create, edit, delete exams, select subject, type, name, duration, add sections and questions
Question Management: CRUD for single‑choice, multiple‑choice, true/false, fill‑in‑the‑blank, short answer, with image and formula support
Education Management: CRUD for subjects per grade
Message Center: send messages to multiple users
Log Center: record user operations
Mini‑Program Features
User login/logout with automatic WeChat binding
Home page mirrors web version (task center, fixed and timed exams)
Exam module with pagination, pull‑to‑refresh, and load‑more
Record module showing exam results and basic info
My module with profile editing, activity feed, and message center
Technology Stack
Backend
Spring Boot 2.1.6.RELEASE
Spring Security for authentication
Undertow web container
PostgreSQL/MySQL databases
Redis cache for performance
MyBatis ORM
HikariCP connection pool
Frontend
Vue.js (Vue‑CLI3)
Element‑UI components
vue‑element‑admin (lightweight)
ECharts for charts
UEditor with fill‑in‑the‑blank plugin
WeChat Mini‑Program
iView UI theme
Usage
Source code: https://gitee.com/mindskip/xzs-mysql
Install Redis
Run database scripts to create tables and seed data
Open backend code at /uexam/source/xzs in IntelliJ IDEA, configure PostgreSQL/MySQL and Redis in application-dev.yml, then run XzsApplication (default port 8000)
Student system URL: http://localhost:8000/student
Admin system URL: http://localhost:8000/admin
Architecture Diagram
System Screenshots
Student exam system
Mini‑program exam system
Admin management system
Source Code Download
Repository links:
Gitee (PostgreSQL): https://gitee.com/mindskip/uexam
Gitee (MySQL): https://gitee.com/mindskip/xzs-mysql
GitHub (PostgreSQL): https://github.com/mindskip/xzs
GitHub (MySQL): https://github.com/mindskip/xzs-mysql
Reply with 【0709】 to get the download links without copying them.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java High-Performance Architecture
Sharing Java development articles and resources, including SSM architecture and the Spring ecosystem (Spring Boot, Spring Cloud, MyBatis, Dubbo, Docker), Zookeeper, Redis, architecture design, microservices, message queues, Git, etc.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
