Skip to content

Extend timetable module to year 2, 3 & 4 #3

Description

@aumanshkaushal

Overview

The timetable module currently supports only 1st Year students. Extend the implementation to support 2nd, 3rd, and 4th Year timetables while improving the timetable data model to expose more structured and machine-readable information.

Requirements

1. Support Additional Years

  • Add timetable data ingestion and processing for:

    • 2nd Year
    • 3rd Year
    • 4th Year
  • Ensure timetable APIs return correct schedules for all supported years.

  • Maintain backward compatibility with the existing 1st Year implementation.

2. Add Subsection Support

Some branches are further divided into subsections (e.g. Mechanical Engineering A/B).

  • Introduce a dedicated parameter to identify subsections.

  • Ensure timetable queries can distinguish between:

    • Branch
    • Year
    • Section
    • Subsection (if applicable)
  • Example:

    • Mechanical Engineering → A
    • Mechanical Engineering → B

3. Improve Timetable Structure

Expose timetable data in a more parsable format instead of relying primarily on raw timetable text.

Suggested fields include:

  • Subject Name
  • Subject Code
  • Faculty Name
  • Faculty ID (if available)
  • Room / Venue
  • Day
  • Start Time
  • End Time
  • Duration
  • Branch
  • Year
  • Section
  • Subsection
  • Course Type (Lecture / Tutorial / Practical)

4. Group-wise Timetable Support (Stretch Goal)

Many practicals and labs are conducted in smaller groups within a section/subsection.

If the source data allows it:

  • Identify group-level timetable information.
  • Introduce a group parameter (e.g. G1, G2, G3).
  • Allow timetable filtering by group.
  • Ensure students can retrieve schedules specific to their assigned group.

Acceptance Criteria

  • Timetables for Years 2, 3, and 4 are available through the API.
  • Existing Year 1 functionality remains unaffected.
  • Subsection-level timetable queries are supported.
  • Timetable responses expose structured and machine-readable fields.
  • Group-wise timetable data is supported where available.
  • Documentation and examples are updated accordingly.

Notes

  • Year 1 timetable support is already completed.
  • Prefer designing the schema with future expansion in mind, even if subsection/group data is not immediately available for every branch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions