Skip to content
/ zoonk Public

Learn anything with step-by-step activities

License

Notifications You must be signed in to change notification settings

zoonk/zoonk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,350 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Minimalist brain icon with a lightning bolt in the center next to the text learn. build. shape.

Learn anything with step-by-step activities.

Waitlist

Caution

Early Development Notice

This project is still in early development and not ready for use. There will be breaking changes before stable that won't be backwards compatible. Star this repository or follow us on social media to stay updated.

Project Status

Feature Not Started In Progress Beta Stable
Learn Anything (Catalog) πŸ”¨
Personalized Lessons πŸ“†
Editor πŸ”¨
Teams πŸ“†
Schools πŸ“†
White-Label (Creators) πŸ“†
iOS App πŸ“†
Android App πŸ“†
API πŸ”¨

Table of Contents

Getting Started

Prerequisites

  • Node.js v24
  • pnpm v10
  • PostgreSQL v17

We recommend using mise to manage your Node.js and pnpm versions.

Installation

  • pnpm install to install dependencies for all apps and packages
  • Check out the @zoonk/db package README for database setup instructions
  • Check out the main app README for app-specific setup instructions

Local Development

  • pnpm dev to start the development server
  • pnpm build to create a production build
  • pnpm lint to run linting
  • pnpm typecheck to run TypeScript type checking
  • pnpm knip to check for unused code
  • pnpm test to run tests with Vitest
  • pnpm e2e to run end-to-end tests with Playwright

Overview

Apps

  • main: Public web app (zoonk.com)
  • admin: Dashboard for managing users and organizations (admin.zoonk.com)
  • api: Centralized API and authentication UI (api.zoonk.com)
  • editor: Visual editor for building courses and activities (editor.zoonk.com)
  • evals: Local-only tool for evaluating AI-generated content

Packages

  • ai: AI prompts, tasks, and helpers for content generation
  • auth: Shared Better Auth setup and plugins
  • core: Shared server utilities
  • db: Prisma schema and client
  • e2e: Shared Playwright config and test fixtures
  • error-reporter: Error reporting utilities
  • oxlint-plugin: Custom oxlint rules
  • mailer: Email-sending utilities
  • next: Shared Next.js utilities
  • testing: Shared testing utilities
  • tsconfig: Shared TypeScript config
  • ui: Shared React components, patterns, hooks, and styles
  • utils: Shared utilities and helpers

i18n

You can use lingo.dev to manage translations for this project. Run pnpm i18n from the root directory to translate missing keys.

This is optional. If using lingo.dev, make sure to set the LINGODOTDEV_API_KEY environment variable in your local .env file.

Remote Caching

We're using Vercel's Remote Caching to speed up our Turborepo tasks. To enable remote caching, authenticate the Turborepo CLI with your Vercel account:

pnpm turbo login

Then, link to the remote cache:

pnpm turbo link

Supporters

See everyone who has supported this project.

Sponsor this project

 

Contributors 11

Languages