ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Exam countdowns, study plans, reminders and study partners for university students.
EducationJavaScript · CSSGitHub @Lufuno-pearlOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A study app for university students: exam countdowns, marks you need per module, a study plan built around your classes, tasks you tick off, a shared focus timer, and study partners you can chat with (including photos and PDFs).
Live: https://study-with-funi.vercel.app
funi-v2-setup.sql and press Run. You should see "Success. No rows returned".funi-v3-setup.sql and Run. This adds task priority and "notify me before", focus time, photo avatars (public avatars storage) and the every-minute push timer (pg_cron + pg_net).funi-v4-setup.sql and Run. This lets Funi buzz your phone when a study timer ends while the app is closed.funi-v5-setup.sql and Run. This adds files for each module (private module-files storage, 10 MB a file, 50 MB per person).funi-v6-setup.sql and Run. Accounts now need a verified email (one account per email), log in with username or email, and Funi is limited to 200 accounts (change the number in funi_max_accounts()).funi-v7-setup.sql and Run. This adds study rooms, leaderboard + streaks, the study garden, flashcards, quiz battles and voice-note notifications.funi-v8-setup.sql and Run. Cross night rooms then send "… is cross-nighting tonight 🌙".funi-v9-setup.sql and Run. This adds repeating reminders.funi-v10-setup.sql and Run. Partners can share their exam timetable and modules (never marks).funi-v11-setup.sql and Run. Chat messages can be replied to and deleted (for me / for everyone).funi-v12-setup.sql and Run. Adds My House (shared files, notes and exam calendar), Study FC, and call rooms (video, whiteboard, presenting files).This creates: study partners, feelings, live chat with files (private chat-files storage), notifications, tasks & reminders, exam weight/subminimum per module, and turns on live updates.
(study-circle-setup.sql and study-circle-complete-setup.sql are older versions. You don't need them any more.)
index.html – all screens. styles.css – the look, with 4 themes (Lavender, Blush, Midnight, Night).js/art.js – the cartoon avatars, feeling faces and scenes (drawn as SVG).js/core.js – helpers, themes, navigation, log in, notifications, live updates.js/files.js – My files: notes, past papers, photos and links under each module.js/fun.js – study rooms (shared timer + cheers), leaderboard + streaks, study garden.js/cards.js – flashcard decks (share, flip to study) and quiz battles.js/dash.js – the dashboard: stat tiles, study graph, calendar, reminders, exam bars.js/study.js – tests, priorities, marks calculator, study plan, focus sessions, reminders.js/social.js – profile, feelings, partners, invites, chat with files, notifications.js/boot.js – starts the app.api/config.js – gives the browser the public Supabase settings and the push key.api/push.js – called every minute by Supabase; sends phone pop-ups for due reminders and new notifications.sw.js – offline support and notifications. manifest.json – makes it installable.Supabase › Authentication › Emails › SMTP Settings: host smtp.gmail.com, port 465, username = the Gmail address, password = a Google app password (needs 2-Step Verification). Never paste the app password anywhere except Supabase.
In Supabase › SQL Editor, replace USERNAME and NEW_PASSWORD, then Run:
update auth.users
set encrypted_password = extensions.crypt('NEW_PASSWORD', extensions.gen_salt('bf'))
where id = (select id from public.study_profiles where username = 'USERNAME');
https://study-with-funi.vercel.app, Redirect URLs https://study-with-funi.vercel.app/**SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY
/api/push every minute, which sends due reminders ("30 min before" etc.) and new messages/invites. The push keys are made automatically and kept in the funi_settings table./api/push.