Android mobile app used to showcase the usage of the latest Android Jetpack libraries, coroutines, and the latest best practices in android.
The app retrieves data about the user from the Spotify API, stores it in a secure database. Then the user can search for friends or random people and get a "match score" which calculates how compatible their music tastes are. In the end, the user gets a Spotify playlist with songs from his match.
❤️ Website
Used to fetch the user profile and their top 50 artists and tracks
Note: Matchmefy Api repository has been made private for security reasons
Custom REST API developt in Node.js, used to store user data in a Mongo DB and handles the "logic" to get the match summary for 2 users.
The app is built with the latest Android Jetpack 🚀 libraries using the MVVM 📐 architectural pattern, data binding and LiveData
Other Android libraries used:
Jetpack Navigation
-> MVVM navigation, all handled in the view models 🚀Coroutines
-> used to handle http requests and other async calls 😎Koin
-> DI 📌Retrofit
+OkHttp
-> staples libraries used to handle http calls to REST apis ☁️AppAuth
-> used to handleOAuth2
usingAuthorization Code Flow + PKCE
🚓Timber
-> Better Logging 📈Firebase
-> Analytics and Crashalytics 💥
Special Thanks to Undarw for the amazing free illustrations 🙏
Q: Will Matchmefy be available on iOS and Web?
A: It is planned, but not a priority. If you are an iOS dev. or web dev. and looking to extend this project, contact me and I can provided deisgn specs, api, db access and all.
Q: I can match with myself, is this intended?
A: Yes! You can match with yourself but you will not be able to create a playlist.