Back to the previous page

Vinyla Android – 2022

Screenshots of the app:

Welcome screen: the user is greeted with a welcome screen featuring a random background of album covers.

Welcome screen

Login & registration screen: all data is validated, including password and email requirements. Previously used email addresses cannot be reused.

Login and registration screen

Main screen: the user can select multiple artists and then tap 'Create Station'. The streaming service can be set via the settings button.

Main screen

App Purpose:

The goal is to allow users to view their favorite artists through a simple login in a convenient list. This data is retrieved from my previous project, Vinyla, developed for the Web Applications IV course.

Users can select multiple artists by tapping on their image. Then they can create a personalized station or playlist for the selected artist(s), which will automatically play via the user’s chosen music streaming app. The streaming service can be set in the settings.

How Vinyla for Android works:

Original Vinyla:

For Web Applications IV, I developed a database, API, and web application where users could search for and save their favorite albums.

You can find this project here.

APIs:

The application uses three APIs to achieve its functionality:

  1. Vinyla API: custom API to retrieve the user’s favorite albums.
  2. Spotify Token API: used to obtain a trusted token necessary for accessing Spotify’s full API in step 3.
  3. Spotify API: used to query and fetch artist images.

App Workflow:

  1. User logs in with their credentials.
  2. The app communicates with the Vinyla API to validate login and receive a BearerAuth token.
  3. The Spotify Token API provides a trusted BearerAuth token from Spotify.
  4. Using the Vinyla token, the app fetches all favorite albums from Vinyla.
  5. Albums are filtered by artist and sorted by frequency, limited to 30 artists.
  6. Due to Spotify’s batch request limit, artist images are fetched individually via the Spotify API using the Spotify token.
  7. Users select their preferred music streaming service in the settings.
  8. Users select artists and tap 'Create Station' to generate a personalized station in their chosen service. (Actual music playback is not implemented.)

App Requirements Explained:

Testing:

All screens are tested using the Espresso framework. Non-UI code could not be tested.

The welcomeFragmentVisible test must run first; otherwise, the app assumes a user is already logged in and does not display the welcome screen.

Espresso test 1 Espresso test 2

Initial Designs:

Designs were created in Figma based on iOS UI but implemented for Android.

Design 1 Design 2