Files
studysprint/notes/work-report-2026-04-21-to-22.md
2026-04-22 01:23:19 +02:00

116 lines
2.2 KiB
Markdown

## #Overview
Today I implemented a full **CRUD system** for the three core entities in the application:
- **Subjects**
- **Assignments**
- **Tasks**
This includes creating, editing, viewing details, and deleting records, as well as connecting all screens using Expo Router.
---
## #ImplementedFeatures
### #Subjects
Created full CRUD flow:
- `createSubject.tsx`
- `editSubject.tsx`
- `viewDetailsSubject.tsx`
**Functionality:**
- Create new subjects
- Edit existing subjects
- View subject details
- Delete subjects
**Relationships:**
- Subjects act as the top-level entity
- Assignments can optionally be linked to a subject via `sId`
- Subjects are displayed:
- globally (`subjects.tsx`)
- or standalone (`viewDetailsSubjects.tsx`)
---
### #Assignments
Created full CRUD flow:
- `createAssignment.tsx`
- `editAssignment.tsx`
- `viewDetailsAssignment.tsx`
**Functionality:**
- Create assignments (with optional `sId`)
- Edit assignments
- View assignment details
- Delete assignments
**Relationships:**
- Assignments can exist:
- linked to a subject (`sId`)
- or standalone (`sId = null`)
- Assignments are displayed:
- globally (`assignments.tsx`)
- or within a subject (`viewDetailsSubject.tsx`)
- or standalone (`viewDetailsAssignment.tsx`)
---
### #Tasks
Created full CRUD flow:
- `createTask.tsx`
- `editTask.tsx`
- `viewDetailsTask.tsx`
**Functionality:**
- Create tasks
- Edit tasks
- View task details
- Delete tasks
**Relationships:**
- Tasks are linked to assignments via `aId`
- Tasks are accessed through assignment detail pages
- Assignments are displayed:
- globally (`tasks.tsx`)
- or within an assignment (`viewDetailsAssignment.tsx`)
- or standalone (`viewDetailsTask.tsx`)
---
## #RoutingStructure
### #TopLevelScreens
- `subjects.tsx` → list of all subjects
- `assignments.tsx` → list of all assignments
- `tasks.tsx` → list of all tasks
- `index.tsx` → pre-existing home screen
---
## #DataModel
### #Subject
- `sId`
- `title`
- `description`
- `isActive`
- `lastChanged`
- `uId`
### #Assignment
- `aId`
- `title`
- `description`
- `deadline`
- `isCompleted`
- `lastChanged`
- `uId`
- `sId`
### #Task
- `tId`
- `title`
- `description`
- `isCompleted`
- `lastChanged`
- `uId`
- `aId`