Munich European Forum e.V.

negotiatR

A debate management tool for Model UN and diplomatic simulation conferences.

Version 1.1.0 Flutter · Dart macOS · Windows © 2023 Joao Lucas Hilgert

📋 About

negotiatR was created to help the team of the non-governmental organization Munich European Forum e.V. organize simulation events throughout the year. It encompasses the three committees emulated in its flagship event, the Brussels European Forum.

Through this tool, chairs and secretariat staff can manage different debate modes, select the committee to be simulated, restrict the number of participating countries, and impose time restrictions on speeches. First developed in 2023 to replace outdated tools, negotiatR is fully written in Dart using the Flutter framework.

Features

🎙️

Formal Debate

Manage speakers lists with per-speech timers and country flags.

💬

Informal Debate

Free-form discussion timer with start, pause, and reset controls.

Suspension

Break timer with the option to set a specific end time-of-day.

🌍

Country Selection

Toggle which delegations are present for the current session.

🏛️

Committee Switching

Switch between G20, NAC, and FAC committees at any time.

💾

Persistent State

Session selections are saved locally and restored on next launch.

🏛️ Supported Committees

Committee Full Name Members
G20 Group of Twenty 19 countries
NAC NATO Atlantic Council 31 countries
FAC Foreign Affairs Council (EU) 27 countries

📖 How to Use

  1. Select a committee On launch, choose G20, NAC, or FAC from the login screen.
  2. Manage delegations Hold the add button in formal debate to open the "Select Countries" tab to check/uncheck which delegations are present.
  3. Run a Formal Debate Add countries to the speakers list, set a speech duration, and let the timer count down per speaker.
  4. Run an Informal Debate Start, pause, or reset the free-form discussion timer as needed.
  5. Declare a Suspension Set a break duration or an exact end time; the countdown displays prominently for all to see.
  6. Switch committees Use the Settings tab and confirm the logout dialog to return to the committee selection screen.

💻 Supported Platforms

macOS
Windows

🚀 Getting Started

Prerequisites

Build & Run

# Install dependencies
flutter pub get

# Run on macOS
flutter run -d macos

# Run on Windows
flutter run -d windows

# Build release for macOS
flutter build macos

# Build release for Windows
flutter build windows

📁 Project Structure

lib/
├── main.dart — App entry point & bottom navigation
├── screens/
│ ├── login.dart — Committee selection screen
│ ├── formal.dart — Formal debate (speakers list + timer)
│ ├── informal.dart — Informal debate timer
│ ├── suspension.dart — Suspension/break timer
│ ├── dialog_timer.dart — Reusable timer dialog widget
│ ├── select_countries.dart — Delegation toggle list
│ ├── settings.dart — App settings & logout
│ ├── logout_warning.dart — Logout confirmation dialog
│ └── about.dart — Version, author & license info
├── ressources/
│ ├── bar_button.dart — Navigation bar button widget
│ ├── button_widget.dart — Reusable styled button
│ ├── countries.dart — Country data per committee
│ └── country_dropdown.dart — Country selector widget
└── utils/
├── functions.dart — Country list helpers
└── shared_prefs.dart — Local persistence singleton

📦 Key Dependencies

Package Purpose
shared_preferences Persist committee & country selections locally
font_awesome_flutter Icon set used throughout the UI
loading_indicator Animated loading spinners
cupertino_icons iOS-style icon set
flutter_launcher_icons Generate app icons for all platforms

ℹ️ App Info

Name
negotiatR
Version
1.1.0
Author
Joao Lucas Hilgert
Website
Organization
Munich European Forum e.V.
Framework
Flutter (Dart)
First Release
2023

⚖️ License

End User License Agreement (EULA)

This software is proprietary. The owner grants you a non-exclusive, non-transferable license to use negotiatR on any device you own or control.

You may not modify, adapt, translate, reverse-engineer, decompile, disassemble, or create derivative works based on the software. You may not rent, lease, lend, sell, redistribute, or sublicense it.

The software is provided without warranty. In no event shall the owner be liable for any direct, indirect, incidental, special, or consequential damages arising from its use.

© 2023 Joao Lucas D. R. Hilgert. All rights reserved.