{"id":24,"date":"2022-05-12T17:25:24","date_gmt":"2022-05-12T17:25:24","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/chriscodes\/?p=24"},"modified":"2022-05-12T17:25:24","modified_gmt":"2022-05-12T17:25:24","slug":"week-7-project-update","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/chriscodes\/2022\/05\/12\/week-7-project-update\/","title":{"rendered":"Week 7 &#8211; Project Update"},"content":{"rendered":"\n<p>It\u2019s 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!&nbsp; The past week has been very busy with updates and changes to our app and I\u2019m really pleased with the progress I made.&nbsp; Here\u2019s a quick overview of where everything stands:<\/p>\n\n\n\n<p><strong>Login and Authorization<\/strong><\/p>\n\n\n\n<p>This feature is currently working for the most part.&nbsp; Users can register for a new account and the new account will appear under User Management in the AWS Amplify dashboard.&nbsp; Currently, we are parsing the user\u2019s email address to create a username for the session which isn\u2019t ideal.&nbsp; We should be grabbing the user details from Cognito and passing the json down the widget tree, but that still needs to be implemented.<\/p>\n\n\n\n<p><strong>Messages<\/strong><\/p>\n\n\n\n<p>The messaging system is fully implemented at this point.&nbsp; Users can start a chat thread with each other and new messages are saved in DataStore.&nbsp; Because DataStore allows for data stream subscriptions, any new messages that a user sends will automatically and immediately appear in the other user\u2019s app.&nbsp; 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.<\/p>\n\n\n\n<p><strong>Sales<\/strong><\/p>\n\n\n\n<p>The sales screens are still a work in progress but their basic functionality has been completed.&nbsp; Users can create a new sale, add an image to the sale, and upload everything to DataStore.&nbsp; 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.&nbsp; Each sale is built in a \u2018card\u2019 widget that shows the sale\u2019s image, title, and price.&nbsp; 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.<\/p>\n\n\n\n<p><strong>Tags<\/strong><\/p>\n\n\n\n<p>This model class was just recently added to DataStore and is linked to the Sale Model class.&nbsp; When a user creates a new sale, the title is automatically parsed and each word is saved as a tag.&nbsp; Each tag is assigned a foreign key that links it to the sale.&nbsp; 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.<\/p>\n\n\n\n<p>At this point, I would estimate we are about 85% done with the project.&nbsp; 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. &nbsp;I\u2019m really looking forward to seeing the final product\u203c<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s 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!&nbsp; The past week has been very busy with updates and changes to our app and I\u2019m really pleased with the progress I made.&nbsp; Here\u2019s a quick overview of where &hellip; <a href=\"https:\/\/blogs.oregonstate.edu\/chriscodes\/2022\/05\/12\/week-7-project-update\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Week 7 &#8211; Project Update<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":12271,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-24","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/posts\/24","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/users\/12271"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/comments?post=24"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/posts\/24\/revisions"}],"predecessor-version":[{"id":25,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/posts\/24\/revisions\/25"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/media?parent=24"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/categories?post=24"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/tags?post=24"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}