Case Study: Studify
Studify is a mobile social platform that brings people together to collobrate on anything.
Project Background
Studify is a mobile social platform that brings people together to collobrate on anything.
At the university, students rely on each other to study with. In order to get higher grades in exams and be motivated, students prefer to group study rather than studying alone.
In my college years, fortunately, I always had friends to work with before midterms and finals. But we realized that many students have no chance to group study when their friends graduated and they are not. Also same problem exists if you are doing a master's degree and no time to meet new people.
So we decided to build an app to help those people to find study buddies around the college.
Requirements
Users should be able to:
- list all topic activities around their college.
- create topics with some talent that other users need to criticize themselves on.
- enroll a topic with critizing themselve on talents specified.
- list all study groups on an active topic and the fitting score.
- send join request to study groups.
- create groups
Users in some study group should be able to:
- chat with group members.
- get notified when a join request received.
- accept/decline a join request.
- kick a group member.
- leave the group.
- lock the group so no one can send the join request.
Challenges
- Notification mechanism should be interactive.
- Fitting score must be calculated based on talent vectors of group participants.
- User experience must be considered.
Actions & Outcome
First thing to do was to design relational database entities. After database design process, I designed a Restful API to help frontend and backend development to get faster results. We used Swagger UI to collaborate on API. As the mobile developer, I was responsible for Android application development.
The key parts of the mobile development process was:
- Firebase was used for notification system.
- ChatMessageView was used for chat user interface.
- FancyWalkthrough-Android was used for introduction screens.
- retrofit was used as HTTP Client.
- Realm was used as local database in mobile app.
- picasso was used for image downloading and caching.
- sweet-alert-dialog and material-dialogs were used for alert dialogs.
- ScrollableAppBar was used for scrollable header.
- NotifikationManager and Pugnotification were used for notification system. Which was the backbone of the project because it make app so interactive.
- MaterialRatingBar, Stylish-Widget-for-Android, materialChipView, FlowLayout, AndroidTreeView and Print were great libraries that helped Studify be good loking.
Conclusions
Studify is very easy to use and provides a simple solution to the problems mentioned. Thanks to Observable Pattern and Firebase Notifications, Studify is way more interactive than I expected.
Fake Advertisement of Studify
Actions & Outcome
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.
The Results
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.
Client Testimonial
Simon is a brilliant software engineer! Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis.
Want me to help with your project?
If you take on freelance work, you can use this section to prompt any potential clients to get in touch with you with their project requirements.