Tomo is a desktop timer app, primarily intended for the Pomodoro technique.
- Access app and see current timer progress via system menubar
- Pause, extend or restart timer
- See daily total time for each timer
- Configure multiple timers with dependencies
- Configure completion sound effects
- Realtime sync of timer config, current state and history across multiple devices
Tomo is written in Dart using Flutter. At the moment only MacOS is supported, although it should't be too difficult to add support for other platforms.
Synchronization is implemented using Firebase. To enabled it, you need to configure Firebase first (see below).
- Open
macos/Runner.xcodeprojin Xcode, selectRunnertarget and configure team. - Run
flutter runfrom the root directory.
flutter build macosBuild results can be found in macos/build/Release/.
This is optional step which enables syncing timer config, current state and history between multiple devices.
-
Run
flutterfire configure -
Answer
yto? Generated FirebaseOptions file /Users/kaspars/projects/tomox/tomo/lib/firebase_options.dart already exists, do you want to override it? -
Select
<create a new project> -
Enter your choosen project ID (at least 6 characters)
-
Select
macosfor? Which platforms should your configuration support (use arrow keys & space to select)? -
Go to Firebase console > Authentication and enable Google provider.
-
Rerun
flutterfire configure(this will updateGoogleService-Info.plist) -
Lookup
REVERSED_CLIENT_IDfromGoogleService-Info.plistand add it as a new URL scheme tomacos/Runner/Info.plist:<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>REVERSED_CLIENT_ID</string> </array> </dict> </array>



