A web-based editor for managing and generating protocols for Student Council (FSR-Informatik) meetings. Built with Next.js and Tailwind CSS.
- Framework: Next.js
- Styling: Tailwind CSS
- Icons: Lucide React
- Drag & Drop: @dnd-kit
- Data Handling: js-yaml
The screenshots below are auto-generated. Re-generate them anytime with:
npm run previews:install
npm run previewsOn NixOS, Playwright's downloaded browsers may not run (stub-ld). Use dev shell bundled Chromium instead:
nix develop
npm run previews| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
- Session Management: Easily organize meeting topics and points with Drag-and-Drop functionality.
- Attendance Tracking: Manage present FSR members, protocolant, and guests.
- Protocol Metadata: Set date, start time, and end time for the session.
- Import/Export:
- Support for the YAML protocol data structure used by the current Discord Bot.
- Clipboard integration for quick pasting the generated protocol Template.
- Theming: Dark and Light mode support.
- Node.js (Latest LTS recommended)
- npm, yarn, or pnpm
-
Clone the repository:
git clone https://github.com/Joshua154/fsr-protocol-editor.git cd fsr-protocol-editor -
Install dependencies:
npm install
-
Configure Environment Variables:
Copy the example environment file:
cp example.env.local .env.local
Edit
.env.localto set your default FSR members and associated members:FSR_MEMBERS=Member1,Member2,Member3 ASSOCIATED_MEMBERS=Guest1,Guest2
-
Run the development server:
npm run dev
-
Open http://localhost:3000 with your browser to see the result.
You can also run the application using Docker. This is useful for deployment or testing in a clean environment.
-
Configure Environment Variables: You can set environment variables in
docker-compose.ymlor use an.env.localfile.FSR_MEMBERS="Alice [Ali, A], Bob, Charlie" ASSOCIATED_MEMBERS="Dave [David], Eve"
You can define aliases for members using brackets
[]. Searching for "Ali" will suggest "Alice". -
Start the Container:
docker compose up -d --build
or use this example
services: editor: image: ghcr.io/joshua154/fsr-protocol-editor:main container_name: fsr-protocol-editor ports: - "3000:3000" env_file: - .env.local
docker compose up -d





