Skip to content

Android App that integrates the Spotify Web API to match users 🎵 ❤️

License

Notifications You must be signed in to change notification settings

GhimpuLucianEduard/Matchmefy

Repository files navigation

Matchmefy

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

APIs

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.

Architecture

The app is built with the latest Android Jetpack 🚀 libraries using the MVVM 📐 architectural pattern, data binding and LiveData

Other Android libraries used:

  1. Jetpack Navigation -> MVVM navigation, all handled in the view models 🚀
  2. Coroutines -> used to handle http requests and other async calls 😎
  3. Koin -> DI 📌
  4. Retrofit + OkHttp -> staples libraries used to handle http calls to REST apis ☁️
  5. AppAuth -> used to handle OAuth2 using Authorization Code Flow + PKCE 🚓
  6. Timber -> Better Logging 📈
  7. Firebase -> Analytics and Crashalytics 💥

Special Thanks to Undarw for the amazing free illustrations 🙏

FAQ

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.

About

Android App that integrates the Spotify Web API to match users 🎵 ❤️

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages