-
Notifications
You must be signed in to change notification settings - Fork 0
Project Report (Sprint 4)
Each of the following meetings were conducted using Zoom.
Date: November 16th 2020
Duration: 2 hours
Participants: Anthony, Jay, Keon, Massimo, Natalia
Discussion Topics:
- Organized ourselves by planning our deadlines for other courses, and setting deadlines for each section of sprint 4 and assigning tasks for each member of the group:
-
Anthony Dagher:
- Registration Page (for both the Customer and Artist)
-
Jay Han:
- Discover Artwork Page, Browse by Artist Page, and Checkout Page
-
Keon Olsz:
- Login Page (for both the Customer and Artist)
-
Massimo Vadacchino:
- Customer Purchases Page
-
Natalia Tabet:
- Access device media for uploading artwork, Upload Artwork Page, and Bitmap to Base64 encoding.
-
Anthony Dagher:
- Set a goal, similar to that of Sprint 3, to focus on a minimalistic approach.
- Set up the initial backlog of the project, respective android/sprint4 branches, assigning issues to each respective group member.
Date: November 20th 2020
Duration: 2 hours
Participants: Anthony, Jay, Keon, Massimo, Natalia
Discussion Topics:
- Touchpoint to go over Retrofit and Rxjava basics/techniques:
- How to properly send backend calls and receive the respective data using Retrofit.
- How to correctly use Rxjava for coordinating asynchronous Retrofit requests.
Date: November 23rd 2020
Duration: 1 hours
Participants: Anthony, Jay, Keon, Massimo, Natalia
Discussion Topics:
- Upload Artwork Images
- Natalia explains the process of how to convert Bitmap objects, corresponding to an image, to a Base64 binary String representation. Furthermore, she explains how to send this string to AWS, similar to that in the Vue web app, and that it should be fairly easy to implement this. Therefore, we decided to add "Upload Artwork" as a key feature.
Date: November 26th 2020
Duration: 2 hours
Participants: Anthony, Jay, Keon, Massimo
Discussion Topics:
- RESTful back-end calls integration:
- Added all the required back-end calls, using Retrofit and Rxjava, and tested them via the PSQL database. (i.e. checking if a registration was created after signing up on the application)
- Created the android branch and began integration of different features.
Date: November 27th 2020
Duration: 4 hour and 30 minutes
Participants: Anthony, Jay, Massimo
Discussion Topics:
- Merging and final design touches:
- Adjusted potential code conflicts.
- Performed last minute changes/additions:
- Added spinners to indicate the application was loading (fetching from the database and building frontend)
- Slightly modified layout of purchase detail table (smaller font, limit table to within the image width, etc...)
- Added Javadoc to each of our own respective methods/classes.
- Division of the project wiki/README.md.
- Code and repo clean up.
-
Used Retrofit for HTTP requests over HttpUtils:
- Retrofit has become the modern solution, as HttpUtils has become obsolete in more recent versions of android.
-
Used RecyclerViews over ScrollViews:
- RecyclerViews are simply more efficient as it does not need to redraw/reload items that have scrolled off the page in the application. RecyclerViews perserves these items in memory and, therefore, does not need to perform these extra steps.
-
Used Rxjava for coordinating asynchronous Retrofit requests:
- This was done in light of using a RecyclerView. This is because we only wanted to instantiate a RecyclerView only when all images have been succesfully fetched (note that these requests happen in parallel, and one action may be complete before another, potentially causing several errors).
-
We limited the range of capabilities of our Android application:
- Focused on most important key features in order to reduce application size and to reduce clutter (minimalism approach)
-
Customer:
- Browse by discover
- Browse by artist
- Checkout
- View purchases
-
Artist:
- Upload artwork from mobile/application
- Take a photo of your artworks anywhere and seamlessly upload them to our website/application (Users usually take photos using their phones. Therefore, uploading via phone image gallery is extremely important)
- Upload artwork from mobile/application
-
Artist & Customer:
- Registration
-
Combined the functionality of both the view purchased summary table and the view purchased artwork carousel:
- This was done to decrease application size, while also having the majority of the functionality from the Web application.
-
Focused on a minimalist design, and wanted abundantly more images than text [visually driven] (similar to that of Sprint 3)
-
Implemented extra backend methods to help improve efficiency and ease the difficulty of certain application features:
- getPurchaseByCustomerUsername (Retrieves a list of customer purchases, with key information, from a specified customer)
- countAvailableArtworks (Counts the number of available artworks in the backend)