hi, please i like you to do the frontend implementation of this interface based on this interface description. the implementation should be modular for easy debugging
๐ง GENERAL DESIGN OVERVIEW
Responsive Design: The layout automatically adjusts to fit any phone screen size without affecting how content is displayed.
Color Scheme:
Light Mode: Gradient purple-blue (#667eea โ #764ba2) headers and buttons, white background for cards and pages.
Dark Mode: Deep blue/purple background (#1a1a2e โ #16213e), with soft purples for accents.
Font: Clean, modern sans-serif (Segoe UI, Tahoma, Verdana).
Icons Used: Emojis (๐ , ๐, ๐, ๐ค) for navigation. Replaceable with Material Icons if desired.
Logo Position: Top-left of each screenโs headerโreplace the word โDashboardโ with your JPG logo image here.
๐ฑ NUMBER OF PAGES (5 main screens)
1. Dashboard
Purpose: Shows overview stats and sessions for active courses.
Transitions From: Bottom navigation ("๐ Dashboard" icon).
Icons/Elements:
Top-left: โฐ Menu icon (placeholder).
Top-right: ๐/โ๏ธ theme toggle button.
Header: "Dashboard" (replace with logo), "Welcome back, Dr. Mbua".
Statistics Section:
Card 1: โ5โ Active Courses.
Card 2: โ142โ Total Students.
Course Cards (3 cards):
Example: โSoftware Engineering - CSC301โ
Session buttons:
โ
Start Session (green)
๐๏ธ View Attendance (grey)
2. Courses
Purpose: Manage course-specific student lists.
Transitions From: Bottom nav ("๐ Courses").
Course Cards (same structure as dashboard):
โ๏ธ Upload Students (purple)
โ๏ธ Manage (grey)
3. Attendance Reports
Purpose: Filter and view class attendance history.
Transitions From: Dashboard course card or nav ("๐ Reports").
Elements:
Filters: Course, semester, date range.
๐ Apply Filter button (purple).
๐ Export to CSV button.
4. Live Attendance
Purpose: Real-time check-in list (for active sessions).
Transitions From: View Live button on a dashboard card.
Elements:
Stat Cards: โChecked Inโ and โExpectedโ
Recent check-ins (name + matricle + status).
โ Stop Session button (red)
5. Profile
Purpose: Manage user details and app settings.
Transitions From: Bottom nav ("๐ค Profile").
Sections:
๐ค Profile avatar (โDMโ initials).
Read-only name + ID fields.
Editable email + phone.
๐ Update Profile button.
App Settings:
๐ Dark Mode toggle.
๐ Notifications toggle.
๐ค Auto-export toggle.
๐ Change password form.
๐ช Logout button (red)
๐ฒ BOTTOM NAVIGATION BAR (Fixed)
Always visible at bottom, switches between the 4 primary pages.
Icons and Labels:
๐ Dashboard
๐ Courses
๐ Reports
๐ค Profile
Active tab is highlighted in light purple background.
โ
ACTIONABLE BUTTONS (AND THEIR PURPOSES)
Page Button Text Function
Dashboard Start Session Opens a modal to pick location and begin session
View Attendance Navigates to Attendance Reports with filter pre-set
Stop Session Ends an ongoing session
View Live Navigates to Real-time Attendance screen
Courses Upload Students Opens file upload modal for CSV
Manage Placeholder (intended to manage list)
Attendance Apply Filter Filters attendance table
Export to CSV Downloads filtered data
Real-time Stop Session Ends live check-in
Profile Update Profile Saves profile changes
Change Password Placeholder functionality
Logout Logs the lecturer out
All Pages ๐ / โ๏ธ (top right) Toggles between light and dark mode
๐งญ PAGE TRANSITIONS & LOGIC
All screens use display: none and display: block to transition.
Clicking a nav item hides other screens and shows the selected one.
Each nav item becomes highlighted when selected.
Clicking on dashboard actions (e.g., View Attendance, View Live) auto-navigates to related pages with correct course preloaded.
๐ผ๏ธ ICONS USED (AND RECOMMENDED REPLACEMENTS)
Purpose Emoji Used Suggested Icon (if using Material Icons)
Dashboard tab ๐ home
Courses tab ๐ menu_book
Reports tab ๐ bar_chart
Profile tab ๐ค person
Menu icon โฐ menu
Theme toggle ๐/โ๏ธ dark_mode / light_mode
๐ผ๏ธ LOGO REPLACEMENT INSTRUCTION
In the HTML, replace the <h1>Dashboard</h1> tag inside the .header-content of each screen with:
<img src="path_to_your_logo.jpg" alt="App Logo" style="height: 40px;">
Make sure path_to_your_logo.jpg points to your image file. Example if in same folder:
<img src="logo.jpg" alt="App Logo" style="height: 40px;">
๐ RESPONSIVE DESIGN RULE
Uses max-width: 414px; for mobile devices.
Grid layouts (stats, filters) change from 2-column to 1-column automatically on smaller screens using media queries.
Fonts, paddings, and card layouts scale down smoothly to fit different device sizes.
๐ SECURITY AND INTERACTIVITY (BUILT-IN)
Modals for:
Session start (classroom selection)
Uploading student list (CSV only)
Toggles for theme, notifications, and auto-export.
Live updates (simulated with JS setInterval) for check-ins.