Skip to main content

Introduction

Overview

This documentation outlines the key components of the Exams module.

Feature Description

The Exams module is used for creating, managing, displaying exam notifications. And leverage filtering functionality to display exam notifications.

Process Flow

Schema

src/domain/entities/exam-group.entity.ts
@Entity()
export class ExamGroup {
@PrimaryGeneratedColumn()
id: number;

@Column()
groupName: string;

@Column()
regularExamName: string;

@Column()
supplyExamName: string;

@Column()
courseId: number;

@ManyToOne(() => Course)
@JoinColumn()
course: Course;

@Column({ nullable: true })
semesterId: number;

@Column({ nullable: true })
semNo: number;

@Column()
regulation: string;

@Column()
regulationId: number;

@Column({ nullable: true })
suppBatches: string;

@Column({ nullable: true })
regBatches: string;

@Column()
monthYear: string;

@Column()
regSupp: string;

@Column({ default: false })
isExamPublished: boolean;

@Column({ default: false })
published: boolean;

@Column()
publishedAt: string;

@Column({ default: false })
revalPublished: boolean;

@Column()
revalPublishedAt: string;

@Column({ nullable: true })
createdById: number;

@Column({ default: evaluationTypes.PhysicalEvaluation })
evaluationType: string;

@Column({ default: false })
isArchived: boolean;

@Column({ default: false })
isHonorsMinorsExam: boolean;

@CreateDateColumn()
createdAt: string;

@UpdateDateColumn()
updatedAt: string;

@ManyToMany(() => SubjectType)
@JoinTable({
name: "exam_group_subject_type",
joinColumn: { name: "exam_group_id" },
inverseJoinColumn: { name: "subject_type_id" },
})
subjectTypes: SubjectType[];
}

Conclusion

The Exams feature enhances the functionality of the ExamX. It providing a user-friendly interface for managing exams. Users can seamlessly create exams, view them in the Exam Table, edit details as needed, and employ filters to streamline information based on specific criteria. This feature contributes to a more efficient and organized examination management process within CampX.