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.