Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Semáforo: a level after the last semester for pending courses, and switching between plans

Closed
#176 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
java, kotlin, openapi, spring-boot, swift

Research direction

Start by reading the semaphore 2.0 contract and its service to determine whether plannedLevel can exceed the pensum’s last level; the issue leaves the allowed extension undecided. Then inspect Kotlin’s Semáforo › Mi plan flow and the mockup for the extra level and plan switcher. Done means the backend contract decision is reflected in the service and examples, Kotlin supports pending courses beyond the nominal length and switching plans, and the corresponding Swift work is handled when it resumes.

Written by the indexing model from the issue text.

Description

area/kotlin

From Brian's review of the demo (2026-10-21). Not for the 2026-10-23 delivery; it starts afterwards.

What Brian asked

"Debe existir el 9no semestre con las materias restantes que le faltan por ver al estudiante, porque ¿cómo modificarías el semáforo a futuro? Además, ¿cómo navegas entre diferentes planes?"

  1. A level after the pensum's last semester (the "9th semester" for a 1015 student), where the student can move the courses still pending, so a plan can stretch beyond the nominal length.
  2. A clear way to switch between plans in Semáforo › Mi plan. Today "+ Nuevo plan" creates one, but moving between existing plans is not obvious.

To decide first (Backend)

  • Does semaphore 2.0 accept a plannedLevel greater than the pensum's last level? If not, this is a contract change (semaphore 2.1, additive), with its CHANGELOG entry and examples.
  • How far beyond: one extra level, or as many as needed?

Then

  • Backend: the contract and the service, if they change.
  • Kotlin: the extra level in Mi plan, and a plan switcher (a selector or tabs, from the mockup).
  • Swift: the same, once Swift resumes (as a [Swift] sub-issue).
Dominant language
Java
Stars
1
Forks
0
Avg merge
1d 6h
Merged PRs (30d)
90

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from K-Forge/KApp

All issues in K-Forge/KApp

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.