ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
The intelligent web application for seamless course registration and scheduling at the University of Sharjah.
During registration periods, getting into the right course sections with preferred timings or instructors can be incredibly difficult. Students often resort to constantly refreshing the registration portal hoping a seat opens up, or they turn to social media groups trying to arrange manual "swaps" with other students. This process is highly uncoordinated, relies heavily on luck, and requires tedious manual communication that often falls through at the last minute.README 전문 보기 ↗During registration periods, getting into the right course sections with preferred timings or instructors can be incredibly difficult. Students often resort to constantly refreshing the registration portal hoping a seat opens up, or they turn to social media groups trying to arrange manual "swaps" with other students. This process is highly uncoordinated, relies heavily on luck, and requires tedious manual communication that often falls through at the last minute.
CourseMate acts as an intelligent intermediary. Instead of hunting through WhatsApp groups or hoping for a random drop, students can use CourseMate to declare exactly what course section they have, and what section they want. The platform handles the rest securely and intelligently.
CourseMate streamlines the entire process through several key mechanisms:
Every single aspect of the app is engineered to funnel students toward successful, stress-free schedules.
/ (Home Dashboard)The landing hub after sign-in. It surfaces a personalized snapshot rather than the raw feed: your active-post and pending-match counts, the total credits in your latest saved schedule, and the electives offered this semester (department and university baskets) filtered to your major. Targeted announcements surface here on arrival.
/browse (The Feed)The central marketplace. The feed natively applies intelligent filtering to only show posts (swaps, giveaways, and requests) that match your declared major and gender (preventing campus overlap).
/notifications)./post (Creation Hub)The hub where students officially register a "Have" or "Want" section.
/matches (Swap Transactions)When the matching engine finds a reciprocal 1-to-1 swap between two students, a record is created here in a Pending Match state. (Giveaways and requests don't use matches — they're coordinated through the "I'm interested" flow on the feed.)
/schedule (Visual Builder)An advanced graphical permutations tool natively built into the platform.
/instructors (Instructor Schedule)A lookup tool that lets a student search any instructor by name and see the full weekly schedule of class times they teach this term — useful for vetting a section before swapping into a different professor.
/profile (User Settings)The core setup and onboarding view that forcefully captures necessary metadata required to feed the logic loops for the rest of the application.
/notifications (Notification Center)A unified in-app inbox for everything time-sensitive, surfaced via a live unread badge on the bottom navigation bell.
/admin (Admin Console)A gated, admin-only operator console for running the platform.
/auth (Authentication)Dedicated, fully secure authentication proxy built seamlessly onto Supabase's OAuth/OTP ecosystem. It guards all internal APIs to protect student data.
CourseMate handles sensitive data carefully. Here is exactly why we collect what we do, and how it is managed:
| Data Point | Rationale For Collection | Storage & Privacy Guarantees |
|---|---|---|
| Gender | UoS strictly segregates campuses (e.g., Main/Men vs Main/Women). Without knowing a user's gender, a male student could inadvertently accept a swap for a female-designated course section, which is physically impossible to attend. | Held in your profiles row and governed by the same Row-Level Security that guards all profile data — never surfaced in the UI, used only in the background as a campus route-filter. (Supabase encrypts data at rest, which guards against physical media theft; RLS is what controls application-level access.) |
| Major | Prevents the system from showing Engineering swaps to a Med student. It's the central pillar that enables the /schedule route to dynamically look up a user's applicable Department Electives. | Retained in profiles and queried passively via the UI. |
| Phone Number | Crucial for the final step of a swap coordination where users sync up on WhatsApp to click "Drop" in the actual university portal at the exact same millisecond. | Hidden by default. For swaps, a number is locked behind our /matches Row Level Security (RLS) and is unveiled only once both parties hit "Accept" on a pending match. For giveaways/requests, the poster may either opt to publish their number publicly, or keep it private — in which case an interested student's contact is sent to the poster by email via the "I'm interested" flow, so the poster's number is never exposed. |
| Student ID | Defends the platform against spam. Guarantees that active accounts are verifiable, enrolled University of Sharjah students. | Visible internally for trust & accountability metrics. |
| Full Name | Personalizes the interactions, injecting a human element into automated notifications (e.g., "Karam accepted your swap request!"). | Publicly associated strictly with your respective swaps/giveaways. |
/api/expire-posts, /api/expire-matches) gracefully strip away old, stale requests so the active feed remains permanently healthy. Event-driven dispatchers (/api/notify-match, /api/notify-interest, /api/notify-watchers) write in-app notifications and send transactional email via Resend, respecting each user's per-category email preferences.Data Source: Our platform relies on robust real-time course metadata retrieved from the UoS Curriculum Scraper.
This project is open-source and licensed under the GNU Affero General Public License v3.0.