{"id":19,"date":"2022-04-14T14:56:54","date_gmt":"2022-04-14T14:56:54","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/chriscodes\/?p=19"},"modified":"2022-04-14T14:56:54","modified_gmt":"2022-04-14T14:56:54","slug":"capstone-project-week-3","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/chriscodes\/2022\/04\/14\/capstone-project-week-3\/","title":{"rendered":"Capstone Project &#8211; Week 3"},"content":{"rendered":"\n<p>This week I will again be discussing the current state of my capstone project.&nbsp; We are officially in Week 3 and things are quickly starting to pick up.&nbsp; First, my group put together a project plan which outlines the basic layout and approach of our \u201cimproved Craigslist\u201d app.&nbsp; I contributed to the plan by taking on 3 tasks including laying out the backend, setting up our project management system, and making a chart showing the breakdown of labor for the group.<\/p>\n\n\n\n<p>When I first started thinking about the backend, I had a lot of ideas and really only 1 constraint.&nbsp; That constraint was that we needed to use Amazon S3 for image storage.&nbsp; After doing some research on Amazon Web Services, I quickly realized that we could pretty much implement our entire backend on AWS.&nbsp; User authentication, databases, image storage, hosting were all supported by AWS and there was even a step-by-step guide using Flutter.&nbsp; Perfect!&nbsp; Next, I needed to decide what kind of database to use \u2013 relational or non-relational? For non-relational, AWS supports DynamoDB and for relational, AWS will support a number of different DBs including PostgreSQL, MariaDB, and MySQL.&nbsp; After discussing the options with my group, we decided that relational was the way to go and I suggested we use PostgreSQL.&nbsp; I have some experience with that DB and I really enjoy using pgAdmin, which is a tool that allows you to view\/edit PostgreSQL tables in a standalone app.&nbsp; With that, I started putting together an Entity-Relationship Diagram so we have a rough idea of our models and how they related to one another.<\/p>\n\n\n\n<p>Next I set up our project management system.&nbsp; I decided to use Jira because I have used it in a previous class (CS361) and I thought it was fairly straightforward to use.&nbsp; I think having a PM system is extremely important because it gives us experience with the Agile\/Scrum methodology and let us use a tool that is very prevalent in the SWE industry.&nbsp;<\/p>\n\n\n\n<p>Finally, I put together a simple chart showing the division of labor in our group.&nbsp; The chart was separated into 3 areas: frontend, backend, and documentation.&nbsp; As a group, we decided that we all want to have a hand in each of these areas, so we tried to divide them as evenly as we could.&nbsp; As the project gets further along, however, I am sure that things will change and each person might focus more on one area than another.&nbsp; This is expected and it is best that we remain flexible and open to change.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I will again be discussing the current state of my capstone project.&nbsp; We are officially in Week 3 and things are quickly starting to pick up.&nbsp; First, my group put together a project plan which outlines the basic layout and approach of our \u201cimproved Craigslist\u201d app.&nbsp; I contributed to the plan by taking &hellip; <a href=\"https:\/\/blogs.oregonstate.edu\/chriscodes\/2022\/04\/14\/capstone-project-week-3\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Capstone Project &#8211; Week 3<\/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-19","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/posts\/19","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=19"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/posts\/19\/revisions"}],"predecessor-version":[{"id":20,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/posts\/19\/revisions\/20"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/media?parent=19"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/categories?post=19"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/chriscodes\/wp-json\/wp\/v2\/tags?post=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}