{"id":115,"date":"2021-10-31T00:50:49","date_gmt":"2021-10-31T00:50:49","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/?p=115"},"modified":"2021-10-31T00:50:49","modified_gmt":"2021-10-31T00:50:49","slug":"nathans-status-report-for-oct-30-2021","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/2021\/10\/31\/nathans-status-report-for-oct-30-2021\/","title":{"rendered":"Nathan&#8217;s Status Report for Oct 30 2021"},"content":{"rendered":"<p><span class=\"textLayer--absolute\">What\u00a0<\/span><span class=\"textLayer--absolute\">did\u00a0<\/span><span class=\"textLayer--absolute\">you\u00a0<\/span><span class=\"textLayer--absolute\">personally\u00a0<\/span><span class=\"textLayer--absolute\">accomplish\u00a0<\/span><span class=\"textLayer--absolute\">this\u00a0<\/span><span class=\"textLayer--absolute\">week\u00a0<\/span><span class=\"textLayer--absolute\">on\u00a0<\/span><span class=\"textLayer--absolute\">the\u00a0<\/span><span class=\"textLayer--absolute\">project?<\/span><\/p>\n<p>This week, I finished the CRUD operations of the backend server. It interacts with MongoDB Atlas as discussed last status report. Now, the backend server is able to handle post requests of create_hub, create_seats, update_seats, delete_hub, delete_seats and the important get request of get_free_seats.<\/p>\n<p>A major change that I implemented was in the database schema. The updated one is as follows:<\/p>\n<div>\n<div>const Seat = new Schema({<\/div>\n<div>_id:String,<\/div>\n<div>occupied:Boolean,<\/div>\n<div>}<\/div>\n<div>)<\/div>\n<div>const Hub = new Schema({<\/div>\n<div>_id:String,<\/div>\n<div>seats: {<\/div>\n<div>type:Map,<\/div>\n<div>of:Seat<\/div>\n<div>}<\/div>\n<div>}<\/div>\n<div>)<\/div>\n<div><\/div>\n<\/div>\n<div>The most significant change here is that the seats are in a Map, rather than an Array. This needed to be done to increase efficiency of indexing \/ getting a given seat. The Map allows for id-based retrieval in O(1), while the Array is limited to a find of O(n), where n is the number of seats in a datahub.<\/div>\n<p>I ran into many challenges during this stage, as there is a lot to implement and get working with the cloud database. Specifically, I had errors with the routing and retrieving parameters from the request correctly, as well pushing well-formed data to the cloud database. All these errors were solved this week.<\/p>\n<p><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">Is\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">your\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">progress\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">on\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">schedule\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">or\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">behind?<\/span><\/p>\n<p>I am on schedule with my parts and feel confident moving forward. I expect that as we move further into the implementation part, we will have a lot more roadblocks, so I will be working hard in the weeks to come. We are gradually receiving our ordered products, and so far they all seem to be on schedule!<\/p>\n<p><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">What\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">deliverables\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">do\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">you\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">hope\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">to\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">complete\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">in\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">the\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">next\u00a0<\/span><span class=\"textLayer--absolute\" style=\"font-size: 1rem\">week?<\/span><\/p>\n<p>This week, my task it to continue working on the web application. The main task is to get a public endpoint up and running so that the datahubs can act as the clients interfacing with the server. Additionally, I aim to get 25% progress on the frontend of the website. I can&#8217;t wait!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What\u00a0did\u00a0you\u00a0personally\u00a0accomplish\u00a0this\u00a0week\u00a0on\u00a0the\u00a0project? This week, I finished the CRUD operations of the backend server. It interacts with MongoDB Atlas as discussed last status report. Now, the backend server is able to handle post requests of create_hub, create_seats, update_seats, delete_hub, delete_seats and the important get request of get_free_seats. A major change that I implemented was in the database &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/2021\/10\/31\/nathans-status-report-for-oct-30-2021\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Nathan&#8217;s Status Report for Oct 30 2021&#8221;<\/span><\/a><\/p>\n","protected":false},"author":505,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/posts\/115"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/users\/505"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/comments?post=115"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/posts\/115\/revisions"}],"predecessor-version":[{"id":116,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/posts\/115\/revisions\/116"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/media?parent=115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/categories?post=115"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f21-teama3\/wp-json\/wp\/v2\/tags?post=115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}