Skip to content

ls1intum/prompt2

Repository files navigation

PROMPT 2.0: A Modular and Scalable Management Platform for Project-Based Teaching

What is PROMPT?

PROMPT (Project-Oriented Modular Platform for Teaching) is a course management tool built to simplify the administration of project-based university courses.

Originally developed for the iPraktikum at the Technical University of Munich, PROMPT is now a modular and extensible platform that adapts to the needs of instructors and scales across different teaching formats.

Key Features

Core Features

  • Course Configuration: Build custom course flows using reusable course phases.
  • Student Management: Manage participant data and applications.
  • Application Phase: Streamlined workflows for student applications.

Dynamically Loaded Course Phases

PROMPT supports custom course phases as independently deployable modules:

  • 🗓 Interview Phase – Schedule and manage student interviews.
  • 🧑‍🤝‍🧑 Team Phase – Allocate students to projects and teams.
  • 📄 TUM Matching Export – Export data in TUM-compatible format.
  • 🧩 Custom Phases – Easily extend PROMPT with your own logic.

Guide to PROMPT

Explore the live system here 👉 https://prompt.aet.cit.tum.de/

PROMPT is built for teaching teams who run complex project-based university courses. This guide gives you a first impression of the product, its modules, and typical workflows.

Build and Configure Courses

PROMPT lets you define courses by combining reusable “phases”:

  • Add application, interview, matching, and many more phases
  • Define prerequisites and outcomes for each phase

Screenshot: Course Configuration


Manage Students and Teams

PROMPT provides powerful tools for handling student participation throughout your course:

  • Track incoming applications and monitor their progress
  • Schedule and conduct interviews with applicants
  • Form teams and assign projects using manual or semi-automated workflows
  • Evaluate student performance on a per-phase basis, enabling you to decide who passes or fails at each stage of the course independently

Screenshot: Application Administration

Screenshot: Matching


Extend PROMPT with Custom Phases

Each course phase can be developed and plugged in independently—ideal for institutions with evolving or specialized workflows.


Development Guide

This section is for developers and contributors looking to run PROMPT locally or contribute to its development.

Project Structure

Clients

  • Built with React, TypeScript, and Webpack Module Federation
  • Micro-frontends for each course phase
  • Shared design system using shadcn/ui

Server

  • Developed in Go
  • Core service + modular service architecture for each course phase
  • PostgreSQL for data storage
  • Keycloak for authentication

Getting Started

Prerequisites

Running the Clients

  1. Navigate to the client directory:

    cd clients
  2. Install dependencies:

    yarn install
  3. Start the development clients:

    yarn run dev

    This command uses lerna to launch all micro frontends simultaneously. To start a specific micro frontend, navigate to its subdirectory and run the development command there.

Running the Server

  1. Navigate to the server directory:

    cd server
  2. Start the server in development mode:

    go run main.go

Running Supporting Services

docker-compose up db keycloak

To run the server in Docker alongside these services:

docker-compose up

Configuration

PROMPT can be customized for your course by composing it from different modular phases. These configurations are handled at the course level and dynamically loaded on demand.

About

PROMPT 2.0: A Modular and Scalable Management Platform for Project-Based Teaching

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 13