See the photo, basically inspired by a Chinese Karaoke app.
What it does
The photo share system: the user can share the photos, and the system will add tags using object detection algorithm; The song recording system: let the user record a song, and let the user choose a name for the song, then we do parsing for the name, then using the parsed result to find equivalent tags and recommend the most frequently used photos with these tags to the user. And then the user can use the photo as the background of the song MV.
How I built it
So I choose to use Redis Search to implement the recommendation of the photos. When the user updates a photo, call the command: addDocument; if a photo is used, replaced the document(update the frequency info); When a user finished recording a song, use the command search to recommend the photos with desired tags and sorted bu the frequency info.
(the related code is in the PhotoServiceImpl.java)
Challenges I ran into
Don't know how to initialize Redis Client
What I learned
basic commands of Redis Search
What's next for VisualizeSong
I also plan to use the Redis Pub/Sub to alert the user that the photos he/she uploaded have been used by other users.