How giselezz/studyplanner_ios works
StudyPlanner is a SwiftUI study-planning app: students enter an assignment, receive task and duration suggestions, schedule and validate sessions, then approve and save a plan. Saved plans support browsing, progress tracking, completion, rescheduling, and deletion. The sampled ViewModel coordinates use cases and JSON persistence; several screens and their detailed wiring are represented from the README and file tree rather than sampled source.
Main entry points: StudyPlannerViewModel.swift Planner coordinator · ContentView.swift Navigation shell · StudyPlan.swift Plan records · StudyPlanUseCases.swift Plan generation
Components 17
App experience
- App entry
StudyPlanner/StudyPlannerApp.swift - Navigation shell
StudyPlanner/ContentView.swift - Plan list
StudyPlanner/Views/StudyPlanListView.swift - Plan details
StudyPlanner/Views/StudyPlanDetailView.swift - Approval result
StudyPlanner/Views/PlanApprovedView.swift
Plan creation
- Assignment entry
StudyPlanner/Views/NewAssignmentView.swift - Plan review
StudyPlanner/Views/StudyPlanReviewView.swift - Planner coordinator
StudyPlanner/ViewModels/StudyPlannerViewModel.swift
Planning rules
- Plan generation
StudyPlanner/UseCases/StudyPlanUseCases.swift - Schedule approval
StudyPlanner/UseCases/StudyPlanUseCases.swift - Session updates
StudyPlanner/UseCases/StudyPlanUseCases.swift - Plan deletion
StudyPlanner/UseCases/StudyPlanUseCases.swift - Task templates
StudyPlanner/Domain/Assignment.swift - Plan records
StudyPlanner/Domain/StudyPlan.swift
Saved plans
- JSON repository
StudyPlanner/Storage/StudyPlanRepository.swift - Documents JSON
Other components
- Student
Connections 26
- Student → App entry: launches
- App entry → Navigation shell: shows
- Navigation shell → Planner coordinator: creates
- Navigation shell → Plan list: routes
- Navigation shell → Assignment entry: routes
- Navigation shell → Plan review: routes
- Navigation shell → Approval result: routes
- Navigation shell → Plan details: routes
- Student → Assignment entry: enters details
- Assignment entry → Planner coordinator: requests generation
- Planner coordinator → Plan generation: executes
- Plan generation → Task templates: uses task weights
- Plan generation → Plan records: creates draft
- Student → Plan review: sets schedule
- Plan review → Planner coordinator: requests approval
- Planner coordinator → Schedule approval: executes
- Schedule approval → Plan records: validates and updates
- Planner coordinator → JSON repository: loads and saves
- JSON repository → Documents JSON: reads and writes JSON
- Plan list → Planner coordinator: browses plans
- Approval result → Planner coordinator: reads approval state
- Plan details → Planner coordinator: requests plan actions
- Planner coordinator → Session updates: executes completion or reschedule
- Planner coordinator → Plan deletion: executes deletion
- Session updates → Plan records: updates sessions
- Plan deletion → Plan records: filters plans