Goaliath is a free time and goal management app. Goaliath seeks to make you feel proud of your daily actions.
Goaliath is opinionated and designed to support a specific time management strategy. You can learn the method in our website.
We are still an early work in progress! If you want to know more, feel free to check our quick guide and download an alpha build also available at our website.
If you want to use the app, you can access to Goaliath's beta version in the Play Store. For now it is only available for Android.
Version | Description | State |
---|---|---|
v0.1 | First fully functional approximation | 100% |
v0.2 | Improve the underlying time management method | 100% |
v0.3 | Add not essential features (stats, notes, etc.) | 100% |
v0.4 | Quality of Life improvements | 100% |
v0.5 | Onboarding and tutorial | 100% |
v0.6 | Visual and styling improvements | 100% |
v1.0 | First version to be publised to the Play Store | 100% |
Future | Fixes, improvements and new features | - |
Goaliath is written in JavaScript using React Native over Expo. We also use:
- Redux to keep all the app's state.
- redux-persist as our persist method.
- Luxon for the date and time management.
- i18next for translations.
- OpenMoji as part of the illustrations on the onboarding slides.
- React Navigation as our navigation method.
- react-native-paper for our basic ui components.
- react-native-walkthrough-tooltip for the highlighted tutorial messages.
- react-native-vector-icons and fortawesome for the icons in the app.
- react-native-progress and react-native-circular-progress to show the progress of goals and activities.
- react-native-switch-selector to switch between bar chart options.
- react-native-reanimated to animate components.
- react-native-gesture-handler for gesture management.
- react-native-wheel-scrollview-picker for a custom wheel date picker component.
- react-native-app-intro-slider for the onboarding.
- react-native-async-storage as our data storage system.
- react-native-keyboard-aware-scroll-view to handle the keyboard appearance.
- react-native-modal-datetime-picker as time selector.
- react-native-dropdown-picker to select a goal from a list to view its stats.
- react-native-email to allow users to send e-mails to us.
- expo-file-system to read and write backups data.
- expo-sharing to export app backups.
- expo-notifications to display notifications to the user.
- expo-status-bar to control the app's status bar.
- expo-document-picker to select documents on the user's device for importing app backups.
- expo-localization for localization.
- color for immutable color conversion and manipulation.
- array-move to mpve an array item to a different position.
- sentry-expo to keep bugs at bay.
You'll need yarn and expo-client installed. After that, just clone this repository, and run:
yarn install
yarn start
Then the expo developer tools will be available, and from that you'll be able to run the app from the Expo Go app. Note that running the app in web browser mode is not supported.