Skip to content

kaustavdm/prolly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

145 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prolly

Learning Experience (LX) tool — curriculum alignment, objective tracking, session planning, and proof of learning.

Vision

Bring the devtools ethos to learning experience. Whether you're an individual learner, a parent facilitating homeschool, or an educator in a classroom, Prolly helps you plan, track, and demonstrate learning progress.

Domain Model

The core entity is the LX (Learning Experience) — a learner-centric container that captures the epistemological journey:

  • Record (Perception) — what was observed: text, photo, voice, video, file
  • Reflection (Inference) — what was understood: questions, curiosities
  • Observation (Testimony) — what others saw: feedback, comments, nudges

LXs connect to Objectives, Programs, Sessions, Achievements, Associations, and Test Scores.

Objective cascade: Program → Session → LX. Objectives flow down through junction tables. Sessions relate to programs implicitly through shared objectives. LX objectives have a source field (lx/session/program) distinguishing how each was mapped.

Project Structure

Bun workspace monorepo:

domain/   — @prolly/domain: shared types, errors, ID utilities (pure TS, zero deps)
api/      — REST API server (Bun.serve(), no framework)
web/      — SvelteKit SPA (static adapter, Svelte 5, Dexie for offline)

Getting Started

Requires Bun v1.3+.

bun install             # install all workspace deps
bun run dev             # starts API (:3000) + Vite dev server (:5173)

Or individually:

bun run dev:api         # API only on :3000
bun run dev:web         # Vite dev server on :5173 (proxies /api to :3000)

Run tests:

cd api && bun test

Build for production:

bun run build           # builds web/ → api/public/, then compiles API binary

Deployment Modes

Mode SERVE_FRONTEND Database Use Case
SaaS false (CDN) PostgreSQL Cloud-hosted
On-prem true (single binary) SQLite or PostgreSQL Self-hosted school
Dev false (Vite) SQLite or PostgreSQL Local development

License

Dual-licensed under MIT and Apache-2.0. You may choose either license.

About

Educator and learner tool with a DX ethos. From curriculum alignment, through projects and observations, to proof of learning.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors