Skip to content

anusii/filepod

Repository files navigation

FilePod

Flutter Dart

GitHub License GitHub Version GitHub Last Updated GitHub Commit Activity (dev) GitHub Issues

A Solid file browser application built with Flutter and SolidUI. FilePod allows users to browse, upload, and download files stored on their personal online data store (POD), providing a familiar file-management experience for the decentralised web.

See the AU Solid Community page for apps utilising the Solid ecosystem.

Table of Contents

Features

  • Solid POD File Browsing — Navigate folders and files stored on your Solid POD with an intuitive, responsive interface.

  • File Upload — Upload files from your local device directly to your POD.

  • File Download — Download files from your POD to your local device.

  • All POD Files View — Browse every folder and file on your POD from the root, giving a complete overview of your stored data.

  • Solid Authentication — Secure login against a Solid server using the SolidLogin widget.

  • Security Key Management — Manage encryption keys for private data stored on your POD.

  • Responsive Navigation — Automatically switches between a vertical navigation rail (wide screens) and a collapsible navigation drawer (narrow screens).

  • Theme Switching — Toggle between light, dark, and system theme modes.

  • Cross-Platform — Runs on macOS, Linux, Windows, Android, iOS, and the Web.

Screenshots

Login page of FilePod
Home page of FilePod

Requirements

  • Flutter SDK: >=3.10.0
  • Dart SDK: >=3.0.0 <4.0.0

Dependencies

FilePod relies on the following key packages:

  • solidui — UI components for Solid applications
  • solidpod — Solid POD integration
  • shared_preferences — Local storage for settings
  • markdown_tooltip — Markdown-enabled tooltips
  • window_manager — Desktop window management

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:

  • Menu items — Home, Files, and All POD Files navigation
  • App bar — Title, version information, and file browser action
  • Status bar — Server info, login status, and security key status
  • About dialogue — Application information and links
  • Theme toggle — Light/dark/system mode switching
  • Logout — Secure session termination

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

  • Graham Williams
  • Tony Chen

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: <Friday 2026-03-13 09:14:41 +1100 Graham Williams>

About

No description, website, or topics provided.

Resources

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
LICENSE
Unknown
license.dart

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors