degree requirements: my programs dashboard page

Open
#867 0 comments 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
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
rails, ruby

Research direction

Read #632 and #529 first, then review CLAUDE.md under “Dashboard controllers” and spec/requests/dashboard/authorization_spec.rb. Map the existing dashboard routes, program data, and LeopardWeb sync before estimating the work. Done means the page supports the listed current, planned, and ended programs, displays planned terms, and every action is authorized with any :id route included in the spec map.

Written by the indexing model from the issue text.

Description

enhancement

Part of #632. Depends on #529.

A dashboard page where a student sees and corrects their programs, and plans ahead.

Tasks

  • A "My programs" page: majors, minors, concentrations, and certificates, each with its catalog year, plan (for example the three-year plan), start term, and status.
  • The student can correct a value that LeopardWeb sent, or confirm a plan that has source: assumed.
  • The plan of each major shown against real terms: "Junior year, fall" becomes "Fall 2027", from the start term and the plan.
  • "What if" programs: the student adds a planned minor or a 3+1 or 4+1 pathway and sees the courses it adds. LeopardWeb sync never changes planned rows.
  • The history of ended programs (changes of major, completed degrees).

Rules

  • Each action calls authorize (see CLAUDE.md, "Dashboard controllers").
  • Add each route with an :id to the ids map in spec/requests/dashboard/authorization_spec.rb.
  • The page is a planning help, not an official audit. The official audit is Stellic.
Dominant language
Ruby
Stars
4
Forks
0
Avg merge
6h 36m
Merged PRs (30d)
181

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

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 WITCodingClub/calendar-backend

All issues in WITCodingClub/calendar-backend

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.