https://github.com/liam-ohara/record-shop-challenge-ui
Android UI front-end for Record Shop Challenge
https://github.com/liam-ohara/record-shop-challenge-ui
android android-studio front-end gradle gradle-java java java-21 mvvm-architecture retrofit reyclerview searchview
Last synced: about 2 months ago
JSON representation
Android UI front-end for Record Shop Challenge
- Host: GitHub
- URL: https://github.com/liam-ohara/record-shop-challenge-ui
- Owner: liam-ohara
- Created: 2024-09-24T07:54:16.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-16T12:57:05.000Z (11 months ago)
- Last Synced: 2025-03-24T04:59:30.572Z (7 months ago)
- Topics: android, android-studio, front-end, gradle, gradle-java, java, java-21, mvvm-architecture, retrofit, reyclerview, searchview
- Language: Java
- Homepage:
- Size: 539 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Record Shop Android App (front-end)
This demonstration Android app was written as part of the Northcoders Java Software Development bootcamp.
## Background
The purpose of this challenge was to demonstrate the development of an Android app that provided a user with a graphical
user interface to interact with the [backend API](https://github.com/liam-ohara/record_shop_challenge.git)
(acting as the database) for an imaginary record shop. The high-level requirements of the API were to allow a user to:* Store information about the records they have in stock
* Query this data in various ways
* Update it accordinglyThis front-end development aimed to implement the following techniques and principles:
* Two-way data binding in Android to update underlying data from user input in the user interface
* RecyclerView class in Android with a custom AdapterView
* Model–View–ViewModel (MVVM) architectural pattern with Retrofit to call the back-end API
* SearchView widget in Android to permit filtering within the RecyclerView## Features
> * List all albums in stock
> * Add new albums into the back-end database
> * Update album details
> * Delete albums from the back-end database
> * Search for albums by any combination of album name, artist or release year## Installation and Setup
### Prerequisites* Java 21
* Gradle
* Android Studio
* Record Shop [backend API](https://github.com/liam-ohara/record_shop_challenge.git)### Installation
1. Clone the repository
``git clone https://github.com/liam-ohara/record-shop-challenge-ui``2. Open the project in Android Studio
3. Ensure that the back-end API is running locally
4. Run the application using Android Studio device emulation
## Screenshots and use
### Initial screen
The initial view is a RecyclerView with a SearchView widget. This view displays the current albums in stock.
### Adding a new album
To add an album tap the plus icon (floating action button) next to the subheading *'Current albums in stock'*.
A second view appears with fields in which to enter the details of a new album.

Tap save icon (floating action button) when done to save the new album to the back-end database.### Updating/amending an album
To amend an album tap the album listed in the RecyclerView.
A second view appears, the same as when adding a new album, in which the album details can be amended.
Tap save icon (floating action button) when done to save the changes to the back-end database.
### Deleting an album
To delete an album from the back-end database, tap the album listed in the RecyclerView.
Tap the delete icon (floating action button) to remove the album from the back-end database.
### Searching for an album
Search terms can be entered into the SearchView widget that will filter the albums based on
any combination of album name, artist or release year
