Monthly Archives: May 2022

Week 7 – Project Update

It’s hard to believe that we are past the midpoint of the quarter and we are closing in on the final weeks of our capstone project!  The past week has been very busy with updates and changes to our app and I’m really pleased with the progress I made.  Here’s a quick overview of where everything stands:

Login and Authorization

This feature is currently working for the most part.  Users can register for a new account and the new account will appear under User Management in the AWS Amplify dashboard.  Currently, we are parsing the user’s email address to create a username for the session which isn’t ideal.  We should be grabbing the user details from Cognito and passing the json down the widget tree, but that still needs to be implemented.

Messages

The messaging system is fully implemented at this point.  Users can start a chat thread with each other and new messages are saved in DataStore.  Because DataStore allows for data stream subscriptions, any new messages that a user sends will automatically and immediately appear in the other user’s app.  The receiver will also receive a notification that they have a new message. New chats can be started by clicking on a button in a sale page and the user will be redirected to the new chat.

Sales

The sales screens are still a work in progress but their basic functionality has been completed.  Users can create a new sale, add an image to the sale, and upload everything to DataStore.  They can go then go back to the sale to make edits or upload a new picture and the changes will be reflected in the app.  Each sale is built in a ‘card’ widget that shows the sale’s image, title, and price.  When the user clicks on the sale, they will be redirected to a detailed view of the sale or to an edit page, depending on whether they are the owner of the sale or not.

Tags

This model class was just recently added to DataStore and is linked to the Sale Model class.  When a user creates a new sale, the title is automatically parsed and each word is saved as a tag.  Each tag is assigned a foreign key that links it to the sale.  With this new model class, we will be able to sort and filter sales based on the tags, much like you would on any online store.

At this point, I would estimate we are about 85% done with the project.  We have implemented all the main features of the app and we really just need to make it look nice and work out some small bugs.  I’m really looking forward to seeing the final product‼