You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+66-10Lines changed: 66 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,11 @@ A comprehensive software tool for managing school information flows between teac
6
6
7
7
School Data Hub integrates with data exported from the NRW Education ministry software ([SVWS](https://www.svws.nrw.de/)) to build extended models of pupils in the backend without uploading any personal data to the server. The backend models are then used to add and manage additional information collaboratively.
8
8
9
-
10
-
11
9
## Architecture & Data Protection
12
10
13
11
### Privacy-First Approach
14
12
15
-
School Data Hub implements a unique privacy-first architecture by **decoupling personal information from the database**. Instead of storing personal data on the server, this information is **stored locally on each device and shared through secure data transport between devices**.
13
+
School Data Hub implements a privacy-first architecture by **decoupling personal information from the database**. Instead of storing personal data on the server, this information is **stored locally on each device and shared through secure data transport between devices**.
16
14
17
15
### How It Works
18
16
@@ -22,13 +20,18 @@ School Data Hub implements a unique privacy-first architecture by **decoupling p
22
20
23
21
3.**Authentication**: After scanning the keys, users can log in with their credentials. However, even after login, no pupil data will be available.
24
22
25
-
4.**Pupil Data Import**: Users must obtain pupil credentials by transferring them from another device (typically from a desktop version of the app). These credentials are stored in secure storage. API calls require both authenticated access **and** the pupil's internal id.
23
+
4.**Pupil Data Import**: Users must obtain pupil credentials by transferring them from another device (typically from a desktop version of the app), or by importing from an Excel template. These credentials are stored in secure storage. API calls require both authenticated access **and** the pupil's internal id.
24
+
25
+
### Real-Time Collaboration
26
+
27
+
Changes made by one user are pushed in real-time to all connected clients via `HubStreamService`, a server-sent event stream built on Serverpod streaming. This ensures that attendance records, schoolday events, authorizations, competence data, and learning support updates are immediately visible to all colleagues.
26
28
27
29
### Encrypted Data
28
30
29
31
The following data is encrypted:
30
32
- All stored files on the server
31
33
- Sensitive information text, like special needs support strings
34
+
- Encryption is gradually being migrated to an updated format; the client handles this transparently
32
35
33
36
## Features
34
37
@@ -44,11 +47,12 @@ Track student attendance with comprehensive details:
44
47
45
48
### Schoolday Events
46
49
47
-
Document and track schoolday events with photo attachments. Events can include:
50
+
Document and track schoolday events with photo and audio attachments. Events can include:
48
51
- Admonitions
49
52
- Accident reports
50
53
- Parent meetings
51
54
- Any other incidents associated with pupils
55
+
- Event type icons for quick visual identification
52
56
53
57
### School Lists
54
58
@@ -70,6 +74,7 @@ Manage a school-specific currency system used as a reward mechanism. Students ca
70
74
- School merchandise (t-shirts, buttons)
71
75
- School supplies (pencils, erasers)
72
76
- Small games and activities (frisbees, etc.)
77
+
- Credit transaction history chart (WIP)
73
78
74
79
### Special Information (WIP)
75
80
@@ -87,6 +92,10 @@ Document and track individual learning support plans for pupils. This feature su
87
92
-**Status Tracking**: Document category statuses as estimated by the responsible teacher
88
93
-**Development Goals**: Document educational learning support goals that are accessible for colleagues teaching the pupil.
89
94
-**Collaborative Progress**: Enable multiple colleagues to share documentation about the goals' progress over time.
95
+
-**Document & Audio Attachments**: Attach documents and audio recordings to support goals and checks
96
+
-**Special Needs Teacher**: Assign a special needs teacher per learning support plan
97
+
-**Configurable Print Options**: Control which support categories appear in printed reports
98
+
-**PDF Generation**: Print learning support plans as PDF documents
90
99
91
100
### Workbooks
92
101
@@ -103,23 +112,28 @@ Track and manage student competencies:
103
112
- Competence-based assessments
104
113
- Progress tracking
105
114
- Semester-based reporting
115
+
- Add, edit, and delete competencies and support categories
116
+
- Attach documents to competence goals
117
+
- Competence report PDF generation
106
118
107
119
### Library Books Management
108
120
109
121
Digital library management system for tracking books:
110
122
- Book catalog with ISBN support
111
123
- Location tracking for library books
112
124
- Book tagging system
113
-
- Lending management
125
+
- Lending management with audio recording support
114
126
- Book search functionality
115
127
- Multiple book instances per ISBN
128
+
- Lending-specific filters
116
129
117
130
### Pupil Profile
118
131
119
132
Comprehensive pupil profile view consolidating all information about a student, including:
120
133
- Parents' language proficiency in German (important for multilingual families)
121
134
- Sibling information with relationship awareness
122
135
- Afterschool care details
136
+
- Kindergarten information
123
137
- All other pupil-related data
124
138
125
139
### Timetable Management (WIP)
@@ -131,8 +145,31 @@ Complete timetable management system for scheduling and organizing classes:
131
145
- Classroom/location management
132
146
- Flexible time slot configuration
133
147
- Create, edit, and delete scheduled lessons
148
+
- Drag-and-drop lesson scheduling
149
+
- Multi-teacher support per lesson
134
150
- Filter by weekday and lesson group
135
151
152
+
### Over-the-Air Updates
153
+
154
+
The app supports code push updates via [Shorebird](https://shorebird.dev/), allowing patches to be delivered directly to users without requiring a full app store release. The app checks for updates on startup and prompts the user to restart when a patch is available.
155
+
156
+
### Multi-Instance Support
157
+
158
+
Use the app with multiple school environments. Users can store several school keys and switch between instances, enabling staff who work across schools to manage all their data from a single device.
Copy file name to clipboardExpand all lines: school_data_hub_flutter/README.md
-7Lines changed: 0 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,13 +15,6 @@ It implements a privacy-first architecture where sensitive pupil data is stored
15
15
16
16
**Shorebird Integration**: The client uses Shorebird for over-the-air (OTA) code push updates, allowing for rapid deployment of bug fixes and feature updates without requiring app store releases.
17
17
18
-
## Prerequisites
19
-
20
-
-**Flutter SDK**: >=3.19.0
21
-
-**Dart SDK**: >=3.8.0
22
-
-**Serverpod**: The project uses Serverpod 2.9.1 for backend communication
23
-
-**School Data Hub Client**: A local dependency (`../school_data_hub_client`)
0 commit comments