Semáforo: a level after the last semester for pending courses, and switching between plans
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
- Domain
- backend-api-design, mobile
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
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?"
- 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.
- 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
plannedLevelgreater 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
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from K-Forge/KApp
-
Entrega: mockups de las 7 pantallas a partir de la app real (Alejandro)Possibly taken @Ale3320 claimed this 3 days ago. Openarea/docs
K-Forge/KApp#165 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
Entrega: wireframes de las 7 pantallas (Iván)Possibly taken @Ivan-Ruiz00 claimed this 3 days ago. Openarea/docs
K-Forge/KApp#164 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
Entrega: capturas de las 7 pantallas y revisión de requerimientos (Santiago)Possibly taken @SantiagoRR17 claimed this 3 days ago. Openarea/docs
K-Forge/KApp#163 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
area/docs
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
area/backend
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Maintainers usually reply within 1 day
Similar issues
-
dev/release: verify-release-candidate.sh runs 0 Java tests with Debian's MavenPossibly taken @kou claimed this today. OpenType: bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
apache/arrow-adbc#4947 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
lysine-dev/okhttp#9814 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
checkstyle/checkstyle#22153 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
Maintainers usually reply within 1 day