From 09673ab53c06c754f64613f59958076eb29c1668 Mon Sep 17 00:00:00 2001 From: ivan-pelly Date: Fri, 17 Apr 2026 16:02:51 -0700 Subject: [PATCH] Tech docs update --- docs/technical.html | 52 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/docs/technical.html b/docs/technical.html index 6e7d616..41deabe 100644 --- a/docs/technical.html +++ b/docs/technical.html @@ -1182,21 +1182,43 @@

3. Data Flow

+

Each scenario lists the UI file that initiates the action, the Angular service method called, the API + endpoint hit, the .NET controller and repository method invoked, and the stored procedure that reads or writes + the database.

-

Create Goal

-
User → Angular → API → Validation → Database → Response → UI
+

1 — User Login

+
login.html (submit) → Auth.login() [auth.ts] → POST /api/Auth/Login → AuthController.Login() → + UserRepository.GetByEmailAsync() + GetProgramsForUserIdAsync() → sp_User_GetByEmail, + sp_UserPrograms_GetByUserId → session token + program list → login.html renders program selector
-

View Dashboard

-
User → Angular → API → Database → Response → UI
+

2 — View My Students (Home Dashboard)

+
home.ts (constructor) → StudentService.getMyStudents() [student.service.ts] → GET + /api/Student/my → StudentController.GetMyStudents() → StudentRepository.GetMyStudentsAsync() → + sp_Student_GetWithAssignments → student card list → home.html renders student cards
+ +

3 — Open Student Workspace (Full Profile)

+
home.html (card click → router) → workspace.ts (route param change) → + StudentService.getFullProfile() [student.service.ts] → GET /api/Student/{id}/full → + StudentController.GetFullProfile() → StudentRepository.GetFullProfileAsync() → sp_Student_GetFullProfile → + goals + benchmarks + progress events → workspace.html renders detail view
+ +

4 — Create Goal

+
workspace.html (Add Goal button) → goal-modal.ts (onSubmit) → StudentService.createGoal() + [student.service.ts] → POST /api/Student/{id}/goals → StudentController.CreateGoal() → + PermissionService.IsAllowed() → StudentRepository.InsertGoalAsync() → sp_Goal_Insert → created goal returned → + goal-modal closes, workspace.html refreshes
+ +

5 — Log Progress Event

+
workspace.html (Add Event) → edit-event-modal.ts (onSave) → StudentService.addProgressEvent() + [student.service.ts] → POST /api/Student/{id}/progress-event → StudentController.AddProgressEvent() → + StudentRepository.SaveProgressEventAsync() → sp_ProgressEvent_Save → new event ID returned → workspace.html + progress list refreshes

4. Recommended Hosting

@@ -1237,6 +1259,9 @@ dotnet run

Restore

mysql -u username -p dbname < backup.sql
+ +

From the UI

+

Administrators may back up the database via the "Backup" button in the Administrator panel

@@ -1249,14 +1274,17 @@ JWT_EXPIRATION=3600

9. Partner Statement

-

The partner has reviewed the developer documentation and understands the system.

-

Date: April 2026

+

The partner representatives Polly Balsillie and Fred Winter have reviewed the developer documentation and + understands its scope and purpose.

+

Date: April 16, 2026

10. Installation Walkthrough Statement

-

A walkthrough was conducted with the partner, who successfully followed the documentation.

-

Date: April 2026

+

N/A. An installation walkthrough was not appropriate for the partner, as they are non-technical. They are + primarily users of the application, and at least two of our team members will continue to make ourselves + available to support the application.

+

Date: April 16, 2026