Skip to content

Joshua154/fsr-protocol-editor

Repository files navigation

FSR Protocol Editor

A web-based editor for managing and generating protocols for Student Council (FSR-Informatik) meetings. Built with Next.js and Tailwind CSS.

Next.js React TypeScript Tailwind CSS wakatime

Tech Stack

Preview

The screenshots below are auto-generated. Re-generate them anytime with:

npm run previews:install
npm run previews

On NixOS, Playwright's downloaded browsers may not run (stub-ld). Use dev shell bundled Chromium instead:

nix develop
npm run previews

Full Interface

Light Mode Dark Mode
Full View Light Full View Dark

Member Selection

Light Mode Dark Mode
People Select Light People Select Dark

Session Management

Light Mode Dark Mode
New Session Item Light New Session Item Dark

Features

  • 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.

Getting Started

Prerequisites

  • Node.js (Latest LTS recommended)
  • npm, yarn, or pnpm

Installation

  1. Clone the repository:

    git clone https://github.com/Joshua154/fsr-protocol-editor.git
    cd fsr-protocol-editor
  2. Install dependencies:

    npm install
  3. Configure Environment Variables:

    Copy the example environment file:

    cp example.env.local .env.local

    Edit .env.local to set your default FSR members and associated members:

    FSR_MEMBERS=Member1,Member2,Member3
    ASSOCIATED_MEMBERS=Guest1,Guest2
  4. Run the development server:

    npm run dev
  5. Open http://localhost:3000 with your browser to see the result.

Running with Docker

You can also run the application using Docker. This is useful for deployment or testing in a clean environment.

  1. Configure Environment Variables: You can set environment variables in docker-compose.yml or use an .env.local file.

    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".

  2. 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

About

Protocol Web editor for FSR Meetings

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors