This project is a mobile version of the utopian.rocks tool which allows contributors to track their contributions through the review and voting process. The idea was to build an iOS and Android application that users can install on their devices to get the same functionality as the website as well as a few additional features. For now, the application allows the user to look at the list of pending contributions/task-requests and a list of contributions that are waiting an Utopian-io upvote. These lists are updated in real-time so that the user can see the process without having to refresh the application.
The user may also double click on a contribution to share the url of this contribution through messaging or email and they can open the contribution url in a browser.
The application uses a few assets which are owned by the utopian-io organization. This includes the launcher icon, the utopy mascot icon and the utopicons font.
- Technology Stack
The chosen technology stack for this particular project was the Dart Flutter Framework. This piece of technology was chosen for various reasons. Flutter allows for very quick prototyping; which made the creation of this application fairly quick. Also, Flutter let me use a single codebase for both mobile platforms; iOS and Android. While the iOS version of this application is untested (due to not having access to a mac computer), it should work out of the box without any issues given how the project was coded.
The application was made with the BLoC (Business Logic Component) State Management pattern. The BLoC pattern is a way of creating a reactive application by using Streams inside of the flutter framework. BLoC lets the developer take all of the business logic from the application and contain it into a single file and place. This means that the concerns of the application logic are focused and easy to iterate on.
Flutter website: https://flutter.io/
In the future, there are plans to add localized caching to the application so that the user can still use it without being online. More detailed instructions and theming will be added to this project to further flesh out and make the application more user friendly. More information such as the ability to see when the utopian-io bot will vote on a post and the scores of each of the contributions will also be added in the future. The application will also be added to the Android Play store and iOS app store.
- How to contribute?
To contribute to this project, submit a pull request at the github repository. Any and all ideas are welcome.