Skip to content

davidjpetersen/courseforge

Repository files navigation

CourseForge

A collaborative registry platform for CTDL-native learning components. Similar to npmjs.com for JavaScript packages, CourseForge enables the creation, discovery, and reuse of instructional packages built on CTDL (Credential Transparency Description Language) and CTDL-ASN (Achievement Standards Network) standards.

Features

  • CTDL-Native Architecture: All learning artifacts stored as standards-compliant JSON-LD
  • Objective-First Design: Learning objectives as the foundation of instructional design
  • Semantic Search: Vector-based similarity search using pgvector
  • CLI-First Parity: Comprehensive command-line tool for professional workflows
  • Quality Gates: Automated validation and human review workflows
  • Multi-Environment Support: Independent registry environments (local, staging, production)

Getting Started

Prerequisites

  • Node.js 18+ and npm
  • PostgreSQL 15+ with pgvector extension
  • Redis
  • S3-compatible object storage

Installation

  1. Clone the repository:
git clone https://github.com/davidjpetersen/courseforge.git
cd courseforge
  1. Install dependencies:
npm install
  1. Set up environment variables:
cp .env.example .env.local
# Edit .env.local with your configuration
  1. Set up the database:
npm run db:setup
  1. Run the development server:
npm run dev

Open http://localhost:3000 to see the application.

For detailed setup instructions, see SETUP.md.

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm start - Start production server
  • npm run lint - Run ESLint
  • npm run lint:fix - Fix ESLint errors
  • npm run format - Format code with Prettier
  • npm run format:check - Check code formatting
  • npm run type-check - Run TypeScript type checking

Project Structure

courseforge/
├── src/
│   ├── app/              # Next.js App Router pages
│   ├── components/       # React components
│   ├── lib/              # Utility functions and shared code
│   └── styles/           # Global styles
├── public/               # Static assets
├── .kiro/                # Project specifications
└── ...config files

Technology Stack

  • Frontend: Next.js 14+ with App Router, React 18+, TypeScript, Tailwind CSS
  • Backend: Next.js API routes, Node.js
  • Database: PostgreSQL with pgvector extension
  • Caching: Redis
  • Storage: S3-compatible object storage
  • Authentication: NextAuth.js

Documentation

For detailed documentation, see the specification documents:

License

ISC

About

Composable Instruction as Code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages