ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Modular toolkit for Interactive Tutoring Systems. SRS++
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Modular toolkit for the construction of interactive tutoring systems, with experimentation toward
Think: the FOSS lovechild of Anki, Duolingo, Wikipedia, and MathAcademy, with a more generalized surface area for the types of content and skills that can be exercised.
Also: friendly with local-first and static-deployments.
vue-skuilder) (recommmended start point!)Use the Skuilder CLI to create your first course:
npm install -g skuilder
skuilder init my-course --data-layer=static
# Or:
# npx skuilder init my-course --data-layer=static
cd my-course
npm run dev # serve your course locally
npm run studio # edit your course content via web UI
vue-skuilder itself)Clone and develop the full platform:
git clone https://github.com/patched-network/vue-skuilder.git
cd vue-skuilder
yarn install
yarn setup # makes git submodule available - test database, builds library packages
After the setup, workflows will differ depending on what you are working on. To explore, I recommend:
yarn dev:platform
Which will build the components of the platform version of the software and serve locally.
http://localhost:5984, with admin accound admin:password.http://localhost:3000http://localhost:5173This monorepo is structured to support both platform development and course creation.
Broadly: an education system has User and Content as endpoints, with UI as the mediating software in between. We aim for flexible storange and delivery of User and Content data, and for easily extensible UI for rendering custom course content.
Here:
The only user abstraction in the project is the UserDBInterface, which lives in the @vue-skuilder/db package. It's powered by PouchDB, which stores data locally in the case of static courses, or syncs with a CouchDB backend in dynamic / platform deployments.
Again, contained in the db package. Content is served over a core interface:
interface StudyContentSource {
getPendingReviews(): Promise<(StudySessionReviewItem & ScheduledCard)[]>;
getNewCards(n?: number): Promise<StudySessionNewItem[]>;
}
Various implementations satisfy this interface, but the important distinction is that content can be either static (JSON files) or dynamic (CouchDB database). The db package contains converters to transform courses between these form factors as well, enabling, e.g., checkpointing and portable deployment of a 'live' course.
There are several UI application packages:
standalone-ui: a skeleton static SPA for rendering a course. The thing that you'd deploy as user-facing.studio-ui: a focused content editor for individual courses, usable against either static or dynamic courses.platform-ui: ⚠️functional wip⚠️ a static SPA for managing many users and courses, allowing, e.g., multi-course study sessions, user course creation, classrooms (teacher-led cohorts). NB: the site itself is static, but it connects to a dynamic backend API and CouchDB database.tuilder: ⚠️non-functional wip⚠️ a tui for consuming courses in the terminalAnd some shared UI packages:
common-ui: a library of reusable Vue components and utilitiesedit-ui: course editing widgets used in both studio-ui and platform-uiThe courseware package contains base-types for course content rendering components, and also some domain-specific course logic and content type definitions (e.g., a Chessboard component for a chess course). In order to create custom content rendering components, you will extend from these base types.
All web UI is built with Vue 3 and Vuetify 3, in TypeScript, mostly with Composition API and Pinia state management. All web UI shares most of its config via ./vite.config.base.json
The express backend API server is responsible, in dynamic-data contexts, for:
The common package contains some core logic and interfaces that define communication between components.
The cli package (published on npm as skuilder) gives commands to create, manage, or migrate courses. See packages/cli/README.md for more details.
Please do:
Probably don't:
This project is licensed under:
The following e2e / cypress tests are run nightly on the main branch - a little slow for CI, but good for catching regressions while they are fresh.
These are not meant to be permantently green, but rather as safety indicators for publishing new packages to NPM.