Student thesis as a result of an internship in Nextap
The app was created as a bachelor thesis of a student of University of Pardubice while interning in Nextap. The goal of the young developer’s project was to independently create a working Android application with focus on clean code and the use of the latest technologies, try out working in a production environment and all the processes tied with development from the beginning to the end.
What can Happy To-Dos do?
The logged-in user can create tasks, organize them into categories, set their priority, and deadline. The completed tasks are automatically deleted after a set time period. To make task management more pleasant, the user can select from three color themes. The minimalist solution is reflected in the flow of the app: all actions are performed within a single screen. The app also has three language versions.
100% Clean code
The app is written in Kotlin and uses the Model-View-ViewModel architecture. The goal of the thesis was to write a clean and effective code with the use of the correct composition rules. The code is also easy to test thanks to the use of Dependency injection and the Dagger 2 framework. The project also contains a manual which describes how to use the MVVM architecture in Android apps.
Instead of using a custom backend, the app uses Cloud Firestore from Google, which provides storing and real-time synchronization of the users’ data into a cloud database. The service also works offline and the data are saved in a local database. After connecting to the internet, the data are automatically uploaded to the database. This allows users to manage tasks even when offline. Color theme changes work in a similar way.
The design for this app was created in cooperation with our Nextap designer. It contains minimalist elements which reflect the project’s aim and ideas. The design is simple, clean, and based on a limited set of used elements. The main element is the used font. UI is based on a simple contrast of the selected color and distinct background.
A chance for beginners
The purpose of internships and working with students lies in giving all enthusiastic, starting developers a chance to experience how things work in a real company. This experience cannot be taught in school and additionally, it can help students decide whether such work is something they truly want to pursue. We want to help discover new talents and include them in working on real projects with a team of experienced developers.