Skip to content

v2.0.0

Compare
Choose a tag to compare
@chunzkok chunzkok released this 28 Jun 16:50
· 230 commits to main since this release

Minerva v2.0.0

Product of sprint 3!
Fully functional prototype with the ability for users to chat, make deals, leave reviews for others and more!
More details found below.

Note: This release is considered to be a major change due to the changes in the Supabase structure that is now incompatible with the previous release.

New Features In This Release

  1. New Listing Card Design
  2. Redesigned Create Listing Page
  3. Expanded Listing Details (click on listing cards)
  4. Listing Deletion
  5. Chat With Other Users
    1. Send Images Through Chat
    2. Delete Sent Images
    3. Make/Accept Offers
    4. Leave Reviews (after a deal has been completed)
  6. View Profile Pages of Other Users
    1. View All Listings Posted by The Same User
    2. View Rating (out of 5 stars)

Steps Taken

Redesigned Listings

  • Shifted focus from listing titles and description to listing tags
  • Removed listing titles and descriptions from listing cards and listing creation process
  • Added expected rates/hr + targeted education level in listing cards and listing creation process
  • Added colour codes to tags
  • Abstracted out tags for use in multiple components
  • Displayed colour code on View Listings Page and preview of tags under Create Listing Page
  • Introduced a 'popup'/modal showing more information about a listing on click
  • Added the ability to delete listings
    • Editing of listings to be implemented soon, in the process of deciding the user interface for editing listings
  • Converted listings table to give out realtime updates to reflect latest changes

Created Public Profile Pages

  • Essential feature to build reviews and chats on!
  • Designed and implemented a simple profile page showing rating, listings and reviews
  • Added average rating view upon clicking the user's ratings
  • Added Edit Profile/Logout buttons if a user is visiting his own profile page

Implemented Basic Chat Functionality

  • Designed and implemented chat skeleton using React library ChatScope
  • Added responsive styling to stack the sidebar and conversation body conditionally
  • Created 2 new tables in Supabase to facilitate the entire chat function
  • Utilised Supabase Realtime API calls to enable real-time chatting (messages update without manually refreshing the page)
  • Added ability to send images (stored in Supabase Storage)
  • Added ability to make and accept offers
  • Added ability to leave reviews after an offer has been accepted
  • Added a dynamic modal on the chat page to show differing content for multiple actions (e.g. Confirm make/accept offer, leave review, confirm image send, view sent image)
  • Added ability to start "phantom" chats with users -- empty conversations that exist only on one user's client until a message is sent. Purpose is to avoid unnecessary insertion of empty chats into the database, which would also affect users who might end up with tons of empty chats started by other users.