A todo and personal organisation app
Getting Started#
Prerequisites#
- Flutter SDK 3.38.7 or later
- Dart SDK 3.6 or later (included with Flutter)
- Docker & Docker Compose (for server)
- PostgreSQL 16 (or use Docker)
Quick Start#
1. Clone and Setup#
cd Toadist
flutter pub get
2. Run the Server (Optional)#
# Start PostgreSQL and server with Docker
./docker-start.sh start
# Or run server locally (requires local PostgreSQL)
cd server
dart pub get
dart run bin/server.dart
3. Run the Client#
# Web (recommended for testing)
flutter run -d chrome
# Linux
flutter run -d linux
# Android
flutter run -d android
Offline Mode#
Toadist works fully offline. On first launch, you can:
- Login/Register - Sync with server
- Continue Offline - All data stored locally
Data syncs automatically when online and authenticated.
Project Structure#
Toadist/
├── lib/
│ ├── main.dart # App entry point
│ ├── models/ # Data models
│ │ ├── noot.dart # Noot container
│ │ ├── activity.dart # Activity base
│ │ └── activities/ # Activity types
│ ├── services/ # Business logic
│ │ ├── app_service.dart
│ │ ├── api_client.dart
│ │ └── noot_pool.dart
│ └── views/ # UI screens
├── server/
│ ├── bin/server.dart # Server entry
│ └── lib/
│ ├── routes/ # API handlers
│ ├── services/ # Server services
│ └── middleware/ # Auth & CORS
├── test/ # Unit tests
├── docs/ # Documentation
└── docker-compose.yml # Docker config
Running Tests#
flutter test
Building for Production#
# Web
flutter build web
# Linux
flutter build linux
# Android
flutter build apk