ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
IIT 마드라스 무료 BS 대비 실시간 시험 포털에 정답키 제공 데이터 과학·경영 전공 학생용
Free IIT Madras BS prep: real Qualifier, Quiz and End Term papers in a timed exam portal, graded with official answer keys, for Data Science and Management students.
교육TypeScript · JavaScriptGitHub @kriti-sharma-ai온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A structured study companion for the IIT Madras BS in Management and Data Science: Level → Course → Week → Topic → Resources. Students find curriculum, notes, videos, books, practice questions and PYQs in 3–4 clicks; admins manage it all from a CMS.
Built with Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS v4 and pdf.js.
npm install # also copies the pdf.js worker into /public
npm run dev # http://localhost:3000
npm run build && npm start
Optional: set NEXT_PUBLIC_SITE_URL (used for canonical URLs, sitemap and JSON-LD).
By default the site ships with only the Qualifier Pack, Practice, PYQs, cheat sheets, Blog, accounts and admin. Programs, Skills, Courses, Notes, Videos, Books and Search are switched off (404 and hidden from navigation; see src/lib/site.ts). Turn them back on with NEXT_PUBLIC_SECTIONS, e.g. NEXT_PUBLIC_SECTIONS=notes,videos, or NEXT_PUBLIC_SECTIONS=all for the full site.
| Area | Route |
|---|---|
| Homepage (hero, search, programs, continue learning, notes, practice, videos, PYQs) | / |
| Program → levels (Foundation, Diploma, Degree) → courses | /programs/iitm-bs, /programs/iitm-bs/[level] |
| Course page (code, credits, prerequisites; tabs for curriculum, notes, videos, books, PYQs, practice, assignments) | /subjects/[course]?tab=… |
| Topic learning page (video + notes + quiz + books + PYQs, prev/next) | /subjects/[subject]/[topic] |
| Notes library with filters + pdf.js viewer (zoom, pages, in-document search, fullscreen, download, share) | /notes, /notes/[id] |
| Videos (lazy YouTube embed), Books (legal links only) | /videos, /books, /books/[slug] |
| PYQs with most-repeated-topic analysis; practise any paper | /pyqs, /pyqs/[id] |
| Practice: 6 modes, question-bank builder, 6 question types, "Why?" explanations, timed tests, weak-topic summary | /practice, /practice/session |
| Exam prep (level → course → Quiz 1 / Quiz 2 / End Term) | /exam-prep |
| Categorised global search | /search |
| Login / signup, student dashboard, saved resources | /login, /signup, /dashboard, /saved |
| Admin CMS: dashboard, analytics, curriculum builder, upload, review queue, reports, users, content tables | /admin/* |
Also: dark mode, mobile bottom navigation, breadcrumbs with BreadcrumbList JSON-LD, Course JSON-LD, sitemap/robots, empty and error states, report-a-resource, verified/outdated flags.
src/lib/types.ts domain types (mirror supabase/schema.sql)
src/lib/data/* seed content — replace via the CMS/database
src/lib/content.ts read-only query layer; the only file pages read data through
src/lib/store.ts per-student state (progress, bookmarks, attempts…), synced to the account by lib/supabase/sync.ts
src/lib/search.ts search index + ranking
src/components/ design system + feature components
supabase/schema.sql production schema with row-level security
The full official course list (50 courses: 8 Foundation, 10 Diploma in Data Analytics for Business incl. 2 projects, 6 other Diploma, 6 Degree core, 22 electives) is in src/lib/data/curriculum.ts. No course content is published yet: weeks, topics, notes, videos, PYQs and questions are empty, and every course shows a "coming soon" page. Add content via the CMS or the seed files.
supabase/schema.sql, then supabase/0002_user_state_and_papers.sql, then supabase/0003_cms.sql (and any later numbered files) in order. 0003 is safe to re-run. It also creates the private Storage bucket resources and copies the official course list into subjects..env.local (NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY). SUPABASE_SERVICE_ROLE_KEY is only needed by npm run seed:papers; the app itself never uses it.update profiles set role = 'super_admin' where id = (select id from auth.users where email = '[email protected]');
After that, give other people roles in /admin/users.NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY for Production and Preview. The build reads papers and CMS content from Supabase, so it fails without them. .env.example lists the optional variables. Don't add SUPABASE_SERVICE_ROLE_KEY.NEXT_PUBLIC_ values are baked in at build time./admin)| Role | Can |
|---|---|
| Contributor | Upload notes, videos and books; write questions; submit them for review; edit or delete their own unpublished items |
| Moderator | Everything above, plus publish, request changes, unpublish, set quality flags, edit the curriculum and papers, resolve reports, analytics |
| Admin | Everything above, plus users and roles (up to moderator), downloads, settings |
| Super admin | Everything, including granting and removing admin rights |
profiles.role (users can't change their own), every read runs under Row Level Security, and every write goes through a server action in src/app/admin/actions.ts that runs as the signed-in user. The /admin gate in the browser only decides what to show.src/lib/data/curriculum.ts. Weeks and topics for any course, and new courses (draft → published), are stored in subjects, units and topics.published_content() (src/lib/cms.ts), merged with the seed in src/lib/content.ts. Publishing refreshes the site immediately; otherwise pages revalidate every 5 minutes./api/files/[id] through signed URLs (1 hour to read, 5 minutes to download). Downloads are logged in downloads and counted on the resource.reports and appear in /admin/reports./admin/papers. npm run seed:papers copies the papers in the code back over those edits.Not done yet: per-user download rate limits, and Postgres full-text search for /search (it still searches in memory).
Yellow #FFD21C is an accent only: logo, primary CTA, active nav, progress, selection. Pages stay ~85% neutral. Contextual colours: teal = notes/resources, blue = video/info, purple = practice, green = success/PYQs. Tokens live in src/app/globals.css.