Skip to content

feature/SemesterΒ #44

@agaesh

Description

@agaesh

πŸ“Œ Description

Implement the Semester Setup module for EnrollNow. This feature introduces the Semester entity, related APIs, and links semesters with courses/programs.

βœ… Features

  • Create Semester model

  • Build APIs:

    • create
    • list
    • activate/deactivate
  • Link semester with programs/courses

πŸ—„οΈ Database Schema

CREATE TABLE Semester (
    id INT PRIMARY KEY AUTO_INCREMENT,
    semester_name VARCHAR(40) NOT NULL,
    seq_no INT NOT NULL,  -- 1, 2, 3 …
    start_date DATETIME,
    end_date DATETIME,
    status VARCHAR(20),
    intake_id INT NOT NULL,
    created_date DATETIME,
    updated_date DATETIME,
    remarks VARCHAR(255),
    CONSTRAINT fk_semester_program FOREIGN KEY (intake_id) REFERENCES program_courses(id),
    CONSTRAINT uq_program_semester UNIQUE (intake_id, seq_no) -- prevent duplicates
);

🎯 Acceptance Criteria

  • Able to create and list semestersΒ #46
  • Prevent duplicate semester sequence numbers (seq_no) for the same intake
  • Semesters are linked correctly to program_courses
  • Can activate/deactivate semester via API

🏷️ Labels

feature backend database API


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions