filepod

File Pod - A File Browser For Your Solid Pod

Flutter Dart

Github Docs Github Repo GitHub License GitHub Version GitHub Last Updated GitHub Commit Activity (dev) GitHub Issues

FilePod is a file browser for browsing, uploading, and downloading files stored on your personal online data store (Pod), providing a familiar file-management experience for the decentralised web. The app is supported by the Software Innovation Institute and implemented by Tony Chen and Graham Williams using Flutter’s SolidUI package for cross platform development.

We make this project available for free so if you appreciate the app then please show some ❤️ and tap on the star at GitHub to support our work. See the AU Solid Community showcase for many more apps using the Solid ecosystem.

The latest version of the app can be run online at filepod.solidcommunity.au with no installation required though requiring a Bluelink login, or downloaded and installed for your platform from the Solid Community AU repository:

Installation details are available for all platforms.

Contributions are welcome. Visit github to submit an issue or, even better, fork the repository yourself, update the code, and submit a Pull Request. The app is implemented in Flutter using solidui. Thanks.

A SolidUI Template

This app can be used as a template for any solidui based app (and in general for any Flutter app). It contains no app specific widgets but includes some settings that you may want to tune, like the minimum window size for desktop apps, etc. The template simply wraps the solidui SolidFile() file browser widget which you can replace with your own widgets for your app.

Table of Contents

Features

Screenshots

Login page of FilePod
Home page of FilePod

Requirements

Dependencies

FilePod relies on the following key packages:

Installation

Clone the Repository

git clone https://github.com/anusii/filepod.git
cd filepod

Install Dependencies

flutter pub get

Getting Started

Running the Application

# macOS
flutter run -d macos

# Linux
flutter run -d linux

# Windows
flutter run -d windows

# Web
flutter run -d chrome

Using the Makefile

A Makefile is provided for common development tasks:

# Run on macOS
make macos

# Run on Linux
make linux

# Run code analysis
make analyze

# Format code
make format

# Full preparation for a pull request
make prep

Application Structure

lib/
├── main.dart              # Main entry point
├── app.dart               # Root App widget with SolidThemeApp and SolidLogin
├── app_scaffold.dart      # SolidScaffold configuration (menu, appBar, statusBar)
├── home.dart              # Home page widget
├── constants/
│   └── app.dart           # Application-wide constants
├── screens/
│   └── all_pod_files_page.dart  # Browse all POD files from root
└── utils/
    └── is_desktop.dart    # Desktop platform detection utility

Key Components

main.dart

Application entry point. Initialises Flutter bindings, configures the window manager for desktop platforms, and launches the App() widget.

app.dart

Root widget implementing SolidThemeApp with theme configuration and SolidLogin for Solid server authentication. After login, the AppScaffold is displayed.

app_scaffold.dart

Configures the SolidScaffold with:

home.dart

Welcome page displaying a feature overview and usage guidance.

screens/all_pod_files_page.dart

A dedicated page that browses all folders and files on the POD from the root, providing a complete view of the user’s stored data.

Contributing

We welcome contributions! Please follow these guidelines:

  1. Fork the repository and create a feature branch from dev.
  2. Follow the coding style guidelines.
  3. Run make prep before submitting a pull request.
  4. Submit a pull request using the provided PR template.

Reporting Issues

Development Setup

git clone https://github.com/anusii/filepod.git
cd filepod
flutter pub get
flutter run -d macos

Licence

Copyright (C) 2026, Software Innovation Institute, ANU.

Licensed under the GNU General Public License, Version 3. See LICENSE for details.

Authors

For more information about Solid and PODs, visit solidproject.org.

Additional Information

The source code can be accessed via the GitHub repository. You can also file issues at GitHub Issues. The authors of the package will respond to issues as best we can.

Time-stamp: <Thursday 2026-04-30 08:29:19 +1000 Graham Williams>