A lightweight Master/Detail layout split-pane client built with Flutter. It communicates with a Go REST API backend via JWT authentication to perform full CRUD operations (Create, Read, Update, Delete) and completion status toggles.
To compile and run this application natively on Kubuntu without WSL, you must install the Flutter SDK and the underlying C++/GTK toolchain required by Flutter's engine.
Open a terminal on Kubuntu and install the prerequisites via apt:
sudo apt update
sudo apt install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-devThe cleanest way to maintain Flutter on Ubuntu/Kubuntu LTS releases is via Snap:
sudo snap install flutter --classicVerify the installation and path configurations:
flutter doctorProject Recreation from Scratch If you are initializing this codebase in a clean directory on your laptop, follow these sequential steps:
Create a empty folder, navigate inside, and scaffold the application layout skeleton:
mkdir notes-flutter-client
cd notes-flutter-client
flutter create --platforms=web,linux .Install the official Flutter HTTP utility package. This automatically modifies your pubspec.yaml configuration file:
flutter pub add httpEnsure your project files match this exact structural mapping inside the directory:
notes-flutter-client/
├── lib/
│ ├── api_client.dart # Network HTTP wrapper and JWT processor
│ └── main.dart # Layout architecture, state, and UI panes
└── pubspec.yaml
Before running, ensure your Go REST API server is up and active at the address targeted inside lib/main.dart (default: http://localhost:8002).
Compiles the Dart source code down to HTML5 canvas components, completely bypassing local operating system graphics drivers.
# Enable the web compilation engine
flutter config --enable-web
# Run the app as a local development server
flutter run -d web-server --web-port 8080Once compilation finishes, open any browser on your Kubuntu system and navigate to http://localhost:8080.
Compiles the application into a native Linux binary running directly on top of your X11 or Wayland display server window manager.
# Enable the native Linux build target
flutter config --enable-linux-desktop
# Launch the native desktop client window
flutter run -d linuxNote: Because this targets your physical GPU hardware directly on native Linux, it avoids the transparent canvas bugs encountered under the Windows 10 WSL graphics layering context.