GUI Design Specifications
This document contains design-level specifications for the GUI components of the Wippidu Kita App.
These specifications bridge between GUI requirements (req~gui-*) and implementations (impl~).
Absence Notification GUI Design
dsn~gui-abwesenheitsmeldung~1
The absence notification GUI is implemented as a multi-step form:
Step 1 - Child Selection (notify.html):
- Displays list of parent's children with checkboxes
- Pre-selects if parent has only one child
- Shows child photo, name, and current group
- Validates at least one child is selected
Step 2 - Status Details: - Radio buttons for absence type: Illness, Vacation, Other - Date picker for start date (FromDate) - Date picker for end date (ToDate) - Optional textarea for additional message/notes - Submit button to create notification
Technical Implementation:
- Controller: controller/notify.go - Notify, NotifySend
- Templates: notify.html, notify-edit.html
- Model: AbsenceNotification with type enum
Needs: impl, utest
Covers:
- req~gui-kinder-status~1
Absence History GUI Design
dsn~gui-abwesenheitshistorie~1
Parents can view their submitted absence notifications:
History View (notify-history.html):
- Table listing all past notifications
- Columns: Child name, Type, From date, To date, Status
- Sorted by date descending (newest first)
- Edit button for modifiable notifications
- Visual indicators for active vs. past notifications
Edit View (notify-edit.html):
- Pre-filled form with existing notification data
- Allows modification of dates and message
- Revoke option to cancel notification
Needs: impl, utest
Covers:
- req~gui-status-overview~1
Menu Structure GUI Design
dsn~gui-menu-struktur~1
The application implements role-based navigation menus:
Base Layout (base.html):
- Responsive header with logo and user info
- Role indicator for dual-role users
- Role switcher dropdown for users with multiple roles
- Language switcher (DE/EN)
- Logout button
Parent Menu: - Home (children overview) - Notify (absence notification) - Messages (from staff) - Parental Letters - News/Announcements - Documents (placeholder)
Employee Menu: - Home (group overview) - Notifications (view absence notifications) - Location Children (all children in location) - Messages (send to parents) - Parental Letters (create/manage) - News (view/create)
Group Leader Menu (extends Employee): - All Employee menu items - Parental Letter creation with review workflow - News creation for group
Location Leader Menu (extends Group Leader): - All Group Leader menu items - Parent Access Time Management - Location-wide parental letters
Admin Menu (extends all): - Location selector - User Management - Child Management - News Management (global) - API Token Management - Sync Processing Dashboard
Needs: impl
Covers:
- req~gui-menu-structures~1
News/Announcements GUI Design
dsn~gui-ankuendigungen~1
News and announcements are displayed in a blog-style list:
List View - Parent (news-list-parent.html):
- Cards showing title, date, and preview
- Unread indicator for new items
- Click to view full content
- Sorted by publish date descending
List View - Employee (news-list-employee.html):
- Same as parent view plus:
- Edit/Delete buttons for own news
- Scope indicator (Group/Location/Global)
- Read statistics summary
Detail View (news-detail.html, news-detail-employee.html):
- Full news content with markdown rendering
- Author and publish date
- Employee view shows read/unread statistics
- Edit button for authorized users
Create/Edit Forms (news-create.html, news-edit.html):
- Title input field
- Rich text area for content
- Scope selector (Group or Location-wide)
- Valid until date picker (optional)
Needs: impl, utest
Covers:
- req~gui-ankuendigungen-meldungen~1
Announcement Creation GUI Design
dsn~gui-ankuendigung-erstellen~1
Staff can create news/announcements:
Form Fields (news-create.html):
- Scope dropdown: Group-specific or Location-wide
- Group selector (if group-specific)
- Title field (required, single line)
- Content textarea with markdown support
- Valid until date (optional expiration)
Workflow: - Group Leaders can create for their groups - Location Leaders can create for entire location - Admins can create global announcements
Needs: impl
Covers:
- req~gui-ankuendigung-schreiben~1
Group Overview GUI Design
dsn~gui-gruppenuebersicht~1
Employee view of children in their assigned groups:
Notifications View (notifications.html):
- Shows today's absence notifications
- Grouped by group name
- Displays: Child photo, name, absence type, date range
- Visual distinction for illness vs vacation
Location Children View (location-children.html):
- Table of all children in employee's location(s)
- Columns: Photo, Name, Group, Status
- Search/filter functionality
- Click to view child details
Home View - Employee (home.html employee section):
- Quick stats: Total children, Present today, Absent today
- Recent notifications summary
- Quick links to common actions
Needs: impl, utest
Covers:
- req~gui-gruppenuebersicht~1
Child Detail Page GUI Design
dsn~gui-kind-seite~1
Detailed view of a single child:
Parent View (child.html):
- Child photo and full name
- Birthday and age
- Current group and location
- Recent absence notifications
- Link to notify absence
Employee View (employee-child.html):
- All parent view information plus:
- Parent/guardian contact information
- Recent messages to parents
- Absence history
- Group assignment details
- Link to send message to parents
Needs: impl, utest
Covers:
- req~kind-seite~1
Parental Letters GUI Design
dsn~gui-elternbriefe~1
Multi-role parental letter system:
List View - Parent (parental-letters-list-parent.html):
- List of received letters
- Unread indicator
- Response status indicator
- Click to view and respond
List View - Employee (parental-letters-list-employee.html):
- Letters created by user
- Status indicators: Draft, Pending Review, Published
- Response statistics (answered/total)
- Edit/Delete actions for drafts
Detail View - Parent (parental-letter-view-parent.html):
- Full letter content
- Response form if response requested/required
- Visual indicator for required responses
- Submit response button
Detail View - Employee (parental-letter-view-employee.html):
- Full letter content
- Response summary table
- List of responders and non-responders
- Response details expandable
Needs: impl, utest
Covers:
- req~gui-elternbriefe~1
- req~gui-elternbrief-anzeigen~1
Parental Letter Creation GUI Design
dsn~gui-elternbrief-erstellen~1
Form for creating parental letters:
Create Form (parental-letter-create.html):
- Scope selector: Group or Location-wide
- Group dropdown (for group-specific letters)
- Title field (required)
- Content textarea with markdown support
- Response settings:
- Checkbox: Allow responses
- Checkbox: Require response (only if responses allowed)
- Reviewer selection dropdown
- Save as draft / Submit for review buttons
Edit Form (parental-letter-edit.html):
- All create form fields pre-filled
- Status indicator
- Version history (if applicable)
Review Form (parental-letter-review.html):
- Read-only letter preview
- Approve / Request changes buttons
- Comment field for feedback
Needs: impl, utest
Covers:
- req~gui-elternbrief-schreiben~1
Parent Messages GUI Design
dsn~gui-eltern-nachrichten~1
Direct messaging between staff and parents:
Message List - Employee (parent-messages.html):
- List of sent messages
- Recipient (child/parent) indicator
- Response status
- Date sent
- Click to view details
Message List - Parent (parent-received-messages.html):
- List of received messages
- Unread indicator
- Response required indicator
- Sender information
Message Form (parent-message-form.html):
- Child selector dropdown with search
- Multi-child selection support
- Title field
- Message content textarea
- Response settings:
- Checkbox: Allow response
- Checkbox: Require response
- Send button
Message Detail (parent-message-detail.html):
- Full message content
- Response thread (if responses enabled)
- Response form for parents
Needs: impl, utest
Covers:
- req~gui-eltern-nachrichten~1
Location Documents GUI Design
dsn~gui-einrichtungsdokumente~1
Document management and display:
Status: Not yet implemented (placeholder page)
Planned Implementation: - Document list grouped by category - Categories: Meal plans, Weekly plans, Notices - Upload interface for staff - Download links for all users - Expiration date support
Covers:
- req~gui-einrichtungsdokumente~1
Parent Access Time Management GUI Design
dsn~gui-zugriffszeiten~1
Location Leaders manage parent access periods:
List View (location-access-times-list.html):
- Search-first interface (search by child name)
- Results show: Parent name, Child name, Valid from, Valid until
- Edit button for each relationship
- Location filter for multi-location users
Edit Form (location-access-times-edit.html):
- Parent information display (read-only)
- Child information display (read-only)
- Valid from date picker
- Valid until date picker
- Save button
Needs: impl, utest
Covers:
- req~zugriffsmanagement~1
Admin User Management GUI Design
dsn~gui-admin-benutzerverwaltung~1
Admin interface for user management:
User List (admin-users-list.html):
- Paginated table of all users
- Columns: Name, Email, Roles, Status
- Search by name/email
- Filter by role
- Click to view details
User Detail (admin-users-detail.html):
- User information
- Role assignments
- Children relationships with validity dates
- Edit user button
- Add child relationship button
- Impersonate user button
User Edit (admin-users-edit.html):
- Editable user fields
- Role checkboxes
- Save/Cancel buttons
Child Relationship Management:
- admin-users-add-child.html - Add child to user
- admin-users-edit-child.html - Edit relationship dates
Needs: impl
Covers:
- req~rechtevergabe-system~1
Admin Child Management GUI Design
dsn~gui-admin-kinderverwaltung~1
Admin interface for child management:
Child List (admin-children-list.html):
- Paginated table of all children
- Columns: Photo, Name, Group, Location, Active
- Search by name
- Filter by group/location
- Click to view details
Child Detail (admin-children-detail.html):
- Child information
- Group assignment
- Parent relationships
- Edit button
- Add parent button
Child Create/Edit:
- admin-children-create.html - New child form
- admin-children-edit.html - Edit child form
- Fields: Name, Birthday, Group, Photo
Needs: impl
Covers:
- req~datenbank-modell~1
Admin Sync Dashboard GUI Design
dsn~gui-admin-sync~1
Admin interface for intranet data sync processing:
Dashboard (admin-sync.html):
- Pending record counts per staging table
- Process All button with confirmation
- Individual process buttons:
- Process Locations
- Process Groups
- Process Children
- Process Child-Group assignments
- Recent processing log table
- Log columns: Type, Started, Status, Created, Updated, Errors
Needs: impl
Covers:
- req~import-export-system~1
Responsive Design
dsn~gui-responsive~1
The application implements responsive design for multiple device types:
Breakpoints: - Mobile: < 768px - Tablet: 768px - 1024px - Desktop: > 1024px
Mobile Optimizations: - Collapsible navigation menu (hamburger) - Stacked form layouts - Touch-friendly button sizes (min 44px) - Swipe gestures for navigation (planned)
Desktop Optimizations: - Sidebar navigation - Multi-column layouts where appropriate - Keyboard shortcuts (planned)
Implementation: - Tailwind CSS utility classes - CSS media queries in base template - Responsive tables with horizontal scroll on mobile
Needs: impl
Covers:
- feat~responsive-design~1
- feat~touch-design~1
Login/Authentication GUI Design
dsn~gui-login~1
Authentication interface:
Login Page (login.html):
- Email input field
- Password input field
- Login button
- Error message display area
- Language switcher
Session Management: - JWT token in HTTP-only cookie - 7-day session duration - Automatic redirect to login on session expiry
Needs: impl, utest
Covers:
- req~rechtevergabe-system~1
Home Page GUI Design
dsn~gui-home~1
Role-based home page:
Parent Home (home.html - parent section):
- Children cards with photos
- Quick status indicators per child
- Recent notifications summary
- Quick action: Report absence
- Unread messages/letters indicator
Employee Home (home.html - employee section):
- Today's absence summary
- Group statistics
- Recent notifications
- Quick links to common tasks
Dual-Role Users: - Role switcher in header - Home content updates based on active role - Persistent role preference in session
Needs: impl
Covers:
- req~gui-menu-structures~1