{"id":10,"date":"2022-10-27T23:06:41","date_gmt":"2022-10-27T23:06:41","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/imamk\/?p=10"},"modified":"2022-10-27T23:06:41","modified_gmt":"2022-10-27T23:06:41","slug":"sprint-2-and-unexpected-inspirations","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/imamk\/2022\/10\/27\/sprint-2-and-unexpected-inspirations\/","title":{"rendered":"Sprint 2 and Unexpected Inspirations"},"content":{"rendered":"\n<p>I&#8217;m not sure why I ever dreaded taking this course, considering it is becoming one of my favorite classes in the program.  As I mentioned in my first blog post, I was unsure whether I would be able to relearn skills I have not used recently, such as working with databases or editing HTML.  Surprisingly enough, these and other skills came back to me pretty fast, just like riding a bike.  The thing I like about this course is that it is focused on just one project.  In most previous classes we would complete projects within a week or two and then move on to something else.  In contrast, I am enjoying the ability to focus on and refine one project over time.  For instance, I may implement a page or function one way and then come up with an improvement idea for it days or weeks later.  This is a unique opportunity that I did not have in previous classes.  Obviously I will have to stop updating the project when the time comes to turn in the final version in a month, but for now I like watching it gradually evolve. <\/p>\n\n\n\n<p>Since this is my first time using Python Flask, I have been consulting this <a href=\"https:\/\/www.youtube.com\/playlist?list=PL-osiE80TeTs4UjLw5MM6OjgkjFeUxCYH\">Flask Tutorial video series<\/a> by Corey Schafer.  In the series Schafer builds a simple blogging website while explaining the basics of Flask, SQLAlchemy databases, forms powered by WTForms, and other useful tools.  His guide is absolutely spectacular, and I owe a lot of my progress to him because of how well he introduces novices to Flask.  For each video I would follow along and then adapt the lessons to my capstone project, often changing quite a bit in the process.  After creating a few of the site&#8217;s pages and the initial database, a switch went off in my brain.  I was hooked and I went through a week long frenzy of developing many of the site&#8217;s pages.  Honestly, I haven&#8217;t felt this kind of enthusiasm for programming since CS 161 and 162.  It was very satisfying to cross project requirements off the list while having fun in the process.<\/p>\n\n\n\n<p>Inspiration can also come from other, sometimes unusual sources.  Bear with me for a second as I will now tell you the most boring story in all of human history.  Don&#8217;t worry, it&#8217;ll be quick.  The other day I was shopping for apples, and the sticker on each one had a small barcode and 4 digit ID number.  The scanner at checkout wasn&#8217;t picking up the barcode, and I had to enter the ID number instead.  I found that kind of annoying, but for some reason that inconvenient situation reminded me of one of the project&#8217;s requirements.  Each travel Experience must contain a geolocation (latitude and longitude), and at the time I had not figured out a solution for getting these values.  Where do the latitude and longitude numbers come from?  Do I make the user enter them?  Does the user have to look them up on another site and then enter them on the &#8220;Add Experience&#8221; form?  No, that would be just as tedious as having to enter the code for apples.  It would be better for the user to enter an address or a general location, and then the site itself would look up the geolocation.  Once this idea popped into my head I immediately rushed home and implemented it.  In hindsight this solution seems kind of obvious, but at that point I was probably getting tunnel vision and had to step away from the computer for a while.<\/p>\n\n\n\n<p>So far Sprint 2 has been proceeding very well.  My teammates have been coming up with interesting ideas and we are right on schedule.  Hopefully I will continue to enjoy developing the project, learning about Flask, and finding inspiration in weird places.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m not sure why I ever dreaded taking this course, considering it is becoming one of my favorite classes in the program. As I mentioned in my first blog post, I was unsure whether I would be able to relearn skills I have not used recently, such as working with databases or editing HTML. Surprisingly [&hellip;]<\/p>\n","protected":false},"author":12834,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[4,3],"class_list":["post-10","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-capstone-project","tag-cs-467"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/posts\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/users\/12834"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":2,"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"predecessor-version":[{"id":12,"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/posts\/10\/revisions\/12"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/imamk\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}