This article will introduce an open source online examination system based on .NET 6.0 and and discuss its various functions and its technical implementation principles. For those who need an online examination system , this article is a good learning resource , I hope to help you understand and master the construction of the system , so as to provide a convenient and efficient examination environment .
Projects
This system is designed to provide a comprehensive online examination solution for educational institutions, covering multiple modules such as question bank management, test paper management, examination management, results management and background management, so as to build a complete and efficient examination environment.
Question bank managementIt is one of the core functions of the system, which supports operations such as adding, deleting, modifying and querying of test questions, ensuring rich diversity and timely updating of test question resources. Through the fine question bank management, teachers can flexibly create or update test questions according to the syllabus and course requirements to meet the needs of different disciplines and difficulty levels.
Test paper managementThe function focuses on the operations of test paper generation, modification, deletion and query. Teachers can select test questions from the question bank according to preset rules and combine them into a test paper that meets the examination requirements. This flexible configuration of test papers not only improves the efficiency of question generation, but also provides students with a fair and impartial examination experience.
Examination managementFunctions then cover key aspects such as scheduling, monitoring and grading of exams. By setting the exam time, subjects and other information through the system, administrators can easily organize online exams, while students can participate in the exams within the stipulated time, ensuring the smooth running of the entire exam process. In addition, the automated grading mechanism further enhances the accuracy and speed of grading.
Project Features
module (in software) | Functional Description |
---|---|
System personnel management | Manage additions, modifications, etc. to configure the use of the system. |
Teacher management | Teacher's add and modify functions; Specify the class or other relevant information to which the teacher belongs. |
student management | Student addition and modification functions; Specify the student's class, department, and courses taken, etc. |
Departmental management | Departmental addition and modification functions; Create an association with the class. |
class management | Class addition and modification functions; Establishing associations with students. |
course management | Course addition and modification functions; Assigned instructors. |
Question bank management | Functions for adding and modifying test questions; Editorial changes to question types (including multiple choice, judgment, and answer questions); Answer editing. |
Test paper management | The function of adding and modifying test papers; The editing of the questions; Score setting. |
Volume management | Manual Grouping of Papers: Specify the desired topics to create papers as needed; Automatic grouping of papers: automatic combination of papers according to the configuration, more efficient. |
Examination management | Specify the start and end time of the exam; Determine who will take the exam; Setting test scores. |
Project technology
development environment (computer)
- Development tools: Visual Studio 2022 version 16.8
- Backend Framework: .NET 6 SDK
- Cross-platform library: .NET Standard 2.1
- Database Operation Library: MySQL
- Object Mapping Tool: FurionMapster
MySQL Feature Highlights
MySQL is a powerful import/export general-purpose library that supports data manipulation in a variety of file formats, including but not limited to:
-
Dto Import and Export: Supports importing and exporting Data Transfer Objects (Dto) to and from files.
-
Template Export: Provides customized templates for flexible control of the format of the exported file.
-
Fancy Export: Supports advanced features such as style settings, image insertion, etc.
-
Dynamic export: Generate export files based on real-time data and user requirements.
Project framework
The overall architecture of the online examination system based on technologies such as .NET 6, Vue and ElementUI is shown in the following figure:
local environment
To build and test this online exam system in a local development environment, follow the steps below:
1、Initializing the database: First, place the file located in the./docker/mysql/init/
script file into the MySQL database to create the required database structure and initial data.
2、Open the back-end project: Use Visual Studio to open the file located in the./backend/
solution file, which is the back-end part of the system.
3、Configuring Database Connections: in project-based
file to configure the database connection string for the development environment.
4、Installing front-end dependencies: Enter./frontend/admin
cap (a poem)./frontend/teacher
directory, run thenpm install
to install the required dependencies for both front-end projects.
5、Starting a front-end project: in./frontend/admin
cap (a poem)./frontend/teacher
directory, run thenpm run dev
Start the front-end development server.
6、Loading to the uniapp tool: Finally, it will be./frontend/examking-app
The project is loaded into the uniapp developer tool and then run to the phone for testing.
In this way, you have finished setting up your local development environment and can start debugging and testing the system.
Docker Deployment Instructions
Please note that you need to have Docker and the Docker Compose environment installed before you can do the following.
All relevant configuration files can be found in the./docker/.env
found in the file.
- Launch Container
./ start
- Stop container
./ stop
- Remove Container
./ down
- View Help
./ help
- access address
- Manage the backend:http://127.0.0.1/admin/
-
Teacher Backstage:http://127.0.0.1/teacher/
Project Showcase
- System Back Office
- teacher terminal
- Student Mobile
Project Address
Gitee:/pig0224/ExamKing
If you found this article helpful, why not support it with a like? Your support is what keeps me motivated to continue sharing my knowledge. Feel free to leave a comment if you have any questions or need further help.
You can also join WeChat[DotNet Technician] community to share ideas and grow with other tech-loving peers!Excellence is a habit, so feel free to leave a comment and learn!