7680a73d88c3d72193909ffd02ae2040057bc3ed
- New tables: lesson_plan_template, lesson_plan_template_section, lesson_plan_template_item - skill_level enum: beginner, intermediate, advanced, all_levels - Templates are reusable curriculum definitions independent of any member/enrollment - POST /lesson-plan-templates/:id/create-plan deep-copies the template into a member plan - Instantiation uses template name as default plan title, accepts custom title override - Instantiation deactivates any existing active plan on the enrollment (one-active rule) - Plan items are independent copies — renaming the template does not affect existing plans - 11 new integration tests
LunarFront
Small business management platform — POS, inventory, rentals, scheduling, repairs, and accounting.
Built by Lunarfront Tech LLC.
Tech Stack
- Runtime: Bun
- Language: TypeScript (end-to-end)
- API: Fastify + Drizzle ORM + PostgreSQL 16
- Frontend: React + TanStack Router + TanStack Query
- Validation: Zod (shared schemas)
- Queue/Cache: BullMQ + Valkey 8
- Monorepo: Turborepo + Bun workspaces
Quick Start
bun install
cp .env.example .env # configure DATABASE_URL, REDIS_URL, JWT_SECRET
cd packages/backend && bunx drizzle-kit migrate
bun run dev # starts backend (:8000) + admin UI (:5173)
Packages
| Package | Description |
|---|---|
packages/backend |
Fastify API server |
packages/admin |
Admin UI (React + Vite) |
packages/shared |
Zod schemas, types, shared utils |
Documentation
| Doc | Description |
|---|---|
| Setup | Prerequisites, environment, installation, running |
| Architecture | Monorepo structure, backend/frontend design, state management |
| API Reference | All endpoints, pagination, auth, permissions |
| Database | Schema overview, migrations, multi-tenancy |
| Testing | Test runner, suites, writing tests, assertions |
Commands
bun run dev # start all packages in dev mode
bun run test # run all tests
bun run lint # lint all packages
bun run format # format with Prettier
License
Proprietary. All rights reserved.
Description
Languages
TypeScript
99.2%
Shell
0.5%
CSS
0.2%