ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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".