social-music's Issues
Matches, Messages, Profile
Matches:
- User can see other users on their Matches page
- User can click on other users
- Look into matching algorithms
- give .25 weight to shared songs/total num of songs and .75 weight to shared artists/total num of artists (count shared songs/artists once in total)
- add weights for top 20
- final EQ: ((1-diff in level weights)/20) * artist/song weight
- Calculate % similarity between users
- User can see % of similarity with other users
Matches Details View:
- User can see other users' favorites
- Format other user favorites
- Make UI look better
Messages:
- Add timestamp to messages
- Don't let users send empty messages
- Implement live query
- Fix username, timestamp, displaying most recent message at the top
- Fix pull to refresh after sending a new chat
- Fix retain cycle issue
- Fix profile picture, username after send
- Fix top constraint
Profile:
- Format top tracks and artists
- Store top artists and songs in database
- Only save top artists/songs for a user once
- Refactor fetching + saving top data
- Show updated profile picture immediately
Stretch Features
General
- Clean up code
- Convert unnecessary singletons into regular classes
Profile
- Set default image for new user
- Refresh button
- Alert user if they're not connected to Spotify before refreshing
- Show "now playing"
- Fix "now playing" label
Song:
- Display something other than the connect to spotify button
- Skip/skip to previous
- Play/pause
Matches:
- Rethink matching algorithm
- Fix profile image issue when refreshing
- Deselect cell after click
Discover
- Show related artists
- Save related artists once
Set up SDK, Parse, Spotify Log-in, Parse Log-in, and Launch Screen
SDK:
- Set up Spotify SDK
- Test - log in with Spotify account
- Test - play a song on the app
Parse:
- Set up Parse server
- Test - add an object, make sure it appears in Back4App
- Add Parse log-in/sign-up screen
- Save username info to database
- Persist Parse log-in
Launch Screen:
- Create launch screen
Profile:
- Log out button
Songs:
- Make "Connect with Spotify" button disappear after Spotify authorization
UI Set Up:
- Tab bar controller for home + profile views
- Set app icon and tab bar icons
- Autolayout (add stack views to home and log-in)
Profile, Song Selection, Messages
Web API:
- Extract access token from url
- Get user's top songs and artists
Profile:
- User can add a profile picture from camera roll/take a photo
- Username displayed on profile picture
- Set up table view for viewing user's top artists/tracks
- Move logout button to profile screen
- Display user's top songs and artists
Messages:
- User can post messages for other users to see
- User can see messages from other users
- Messages are saved to back4app
- Move keyboard up when textfield is tapped
- Add bubbles for chat messages
- Add pull-to-refresh for messages
- Add character limit for messages
Other:
- Refactor Spotify SDK code
- Move Spotify log-in to be after Parse log-in
Finishing touches
Required:
- Use at least one external library to add visual polish
- At least one animation (e.g. fade in/out, e.g. animating a view growing and shrinking)
- Tap gesture
Areas of Improvement:
Parse:
- Make author and track local models, remove these from parse
- Make Spotify Top Items Data (STID) parse model
- Move data from old models to new one
Profile:
- Show top info immediately without having to switch tabs
- Display album and song images
- Don't save empty favorites
- Persisted user can see top artists and songs without authenticating through Spotify
- Refactor api call and parse query code (incorporate STID)
Messages:
- Fix date after send
Matches Details:
- Refactor parse query code (incorporate STID)
- Increase displayed percentage
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.