ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Eduvora is a Flutter mobile app built for students at Nigerian universities,
polytechnics and colleges of education. One home for lecture videos, past
questions, CBT practice papers, a GP calculator, a student community, chats,
and an AI companion — filtered to your own institution, faculty, department
and level.
Built by Dominic Emeka.
Shared brand palette, spacing, and widgets live in lib/core.
Defined once in lib/core/theme/app_theme.dart.
The app boots straight into the sign-in screen — that's the first thing a
student sees, by design.檢視完整 README ↗Eduvora is a Flutter mobile app built for students at Nigerian universities, polytechnics and colleges of education. One home for lecture videos, past questions, CBT practice papers, a GP calculator, a student community, chats, and an AI companion — filtered to your own institution, faculty, department and level.
Built by Dominic Emeka.
| Feature | Where |
|---|---|
| Sign in / create account (email + Google, password eye toggle) | lib/features/auth |
| Onboarding: institution type → institution → faculty → department → level | lib/features/onboarding |
| Landing page (with the footer — the only screen that has one) | lib/features/landing |
| Home dashboard | lib/features/home |
| Academic videos, in-app player | lib/features/videos |
| Materials library + upload | lib/features/materials |
| CBT exam practice (timed, scored, full review) | lib/features/cbt |
| GP calculator (5-point scale, CGPA trend) | lib/features/gpa |
| Community channels | lib/features/community |
| Chats + study groups | lib/features/chats |
| Ada — the Eduvora AI assistant | lib/features/chats/.../assistant_screen.dart |
| Noticeboard (scholarships, admissions, opportunities) | lib/features/news |
| Profile | lib/features/profile |
Shared brand palette, spacing, and widgets live in lib/core.
| Role | Colour |
|---|---|
| Primary (Royal Blue) | #2563EB |
| Accent (Bright Orange) | #F97316 |
| Background | #F8FAFC |
| Text | #1E293B |
Defined once in lib/core/theme/app_theme.dart.
flutter pub get
flutter run
The app boots straight into the sign-in screen — that's the first thing a student sees, by design.
Eduvora runs perfectly well with no Supabase project configured. Accounts,
academic profiles, GPA records, CBT history, community posts and uploads are
all kept on-device (shared_preferences), and every screen behaves exactly
as it would with a live backend. This is deliberate: the app needs to be
demonstrable and usable before a backend has been provisioned, and it needs
to keep working on a patchy campus network afterwards.
The Profile tab shows Campus Mode whenever this is the active path.
To share accounts and content across devices:
Create a project at supabase.com.
Run supabase/schema.sql in the SQL editor. It creates
profiles, materials, academic_videos, community_posts,
community_comments, gpa_semesters, cbt_attempts and news, all with
Row Level Security enabled, plus the materials and academic-videos
storage buckets.
(Optional, for Google sign-in) Enable the Google provider under
Authentication → Providers, and add the redirect URL
com.dominicemeka.eduvora://login-callback under
Authentication → URL Configuration.
Run with your project's credentials:
flutter run \
--dart-define=SUPABASE_URL=https://xxxx.supabase.co \
--dart-define=SUPABASE_ANON_KEY=eyJhbGciOi...
Without these two --dart-define values, the app quietly falls back to
Campus Mode — there is no crash, no error screen, nothing to configure first.
flutter analyze # 0 issues
flutter test # unit + widget tests
test/eduvora_test.dart covers the GPA formula, the CBT bank, the Nigerian
institution directory, the academic taxonomy and Ada's intent matching.
test/widget_flow_test.dart drives the real screens: sign-in validation and
the password eye toggle, the five-step onboarding flow, the dashboard shell,
the GP calculator's live computation, and Ada's replies.
SessionController (lib/core/state/session_controller.dart)
owns authentication and the student's academic profile, and switches
transparently between the Supabase and Campus Mode code paths.lib/core/services/*_repository.dart merge
locally-created records, remote records (when connected) and a bundled
seed library, so every feed is populated on first launch.lib/core/data/nigerian_institutions.dart and
lib/core/data/academic_structure.dart cover all three institution types
(university, polytechnic, college of education) across every Nigerian
state, with faculties/schools and departments for each.lib/core/services/eduvora_ai.dart is a fully on-device,
intent-matching assistant — no network call, no API key, works offline. She
answers "how do I…" questions about the app and responds with warmth when a
student says they're struggling.Written in British English throughout, as requested — "favourite", not "favorite"; "organise", not "organize".