Git Product home page Git Product logo

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.