February 11th, 2022
Well we got to the midpoint and are getting the site into some semblance of shape.
We got the whole url structure all identified for all the pages this last week and now its starting to really shape up for the team and I think everyone is finally on the same page on the structure/layout of the site.
We are identifying the URL using a rest methodology where:
www.farmwork.us/farmprofile/”Some unique farm code” gives you all the routes associated with that farm
www.farmwork.us/farmprofile/”Some unique farm code”/jobs/”Some unique job code” gives you all the routes associated with that job on that specific farm.
Getting that whole structure penciled out and “how” we were going to identify and use those keys in our database has been a real A-ha moment for the team.
Our next challenge will be to start to make everything look a little prettier. We are all a team of mostly “backend focused” CS students and none of us seem to really be all that into design or CSS. So. It will be interesting how nice we can end up making the site. I am figuring if no one steps up, we might have to do a little bootstrap mining for “prebuilt forms” and see what we can produce.
Looking forward to a fully functional site!
February 4th, 2022
We are in the thick of it now. We are getting data into databases. The logical flow of how the data will move around the site is starting to gel with everyone on the team (I think).
Now it is the hard work of getting everything to work together. And every page created. And then the even harder part of getting it to all look even close to “good enough.”
Our sponsor is someone who is much more “big picture/conceptual” thinker and hasn’t been able to help us in our technical exploration or really been extremely clear on what or how he would like the site to look like. As a result, we are sort of finding our way and we’re going to deliver a product that works, but may be longer on functionality and shorter on beautiful design or real specific details.
We should have probably demanded a more clear design from him at the start, but I feel like if we had spend that much time trying to get him to sort it all out, we would have been 3-4 weeks into the project with no real progress to show for it. 12 weeks isn’t really enough time unless the sponsor has a clearly prepared plan of what they want to see. I just hope we get to the end and have something that is pretty functional and all works together.
Back to the code!
January 26th, 2022
We’re into Week 4 and the project and the conversations are really starting to click.
I’ve been focused on the last week on getting the landing page sorted out and dealing with getting images loaded into S3.
I am constantly amazed at how deep and dark the AWS hole can be and how long it takes to learn everything. I have setup S3 before in web app and thought it would be no sweat, but then I decided to update to the V3 of the SDK. Of course that brought a whole new level of confusion about what to import and how the specific functions worked. Plus, I split the “service” out as a separate class so that my team could use the S3 image uploader where ever they would like.
It all worked great. But then came the deployment to the real world. And of course it doesn’t work because I had setup the S3 bucket to host the pictures as a static website and created an alias in route 53 so I could display the images using “http://siteimages.farmwork.us/imageid.jpg.” However, I set the rest of the site up as https. So. Chrome auto corrects those http links to https and then they don’t find a home.
I ended up setting up a Cloudfront distribution in the mean time for siteimages.farmwork.us and pointed it to the S3 bucket. So it is happy now. But its kinda dumb to have a Cloudfront bucket only point there. So later in the project, I will update it so the Cloudfront points to our EC2 instances for anything other than farmwork.us/images and have that routing point to the S3 bucket. I can then make the S3 bucket only “accessible” by the Cloudfront distribution so it is a little more locked down as well.
Onwards and upwards!
Till next time devoted readers.
January 20th, 2022
This quarter is going super fast.
I missed the week 2 blog post entirely. That is the first “no show” I have had in the entire program. Gives a pretty good insight to my overall mental status.
The team’s project is fully underway! I have used a mis-mash of old sites to setup and start coding a skeleton for the team. I also used my recent AWS studies to get the site already setup and running in the web. It isn’t my “ideal” setup yet but I will work towards that as the quarter progresses.
The code is currently just loaded directly on a EC2 virtual machine. By the end of the quarter, I would like to get it setup in a Docker container and setup a container service setup that will reload/populate the EC2 instance if it has to be rebooted. That longer term thinking of how to implement a service is something I want to get more practice with.
I also setup a username/password system for the site using dynamoDB. I haven’t used DynamoDB before, so that was a bit of an experience. I am excited to try to setup a system where the user can re-set their password if they loose it through an email. I have found a few tutorials on how to do it with Dynamo in the AWS environment and look forward to expanding my knowledge.
The final big challenge on our site is we are going to try to store our data in dynamoDB based on geographic coordinates so the search for items that are geographically close to the search term is quick. We have found some reference docs and are excited to explore.
Until next time faithful reader(s)
January 2nd, 2022
We made it! We are in the last class of the program.
I’m going to reflect a bit on my personal ride up to this point in the program.
Boy has it been a relatively quick ride for me. I started in the Winter Term of 2020. So I will have taken 2 years to complete the whole program. I know there are a lot of people that have taken 3-4 years go get through all of the classes by taking them 1 at a time. That process seems like it might be nice, but I did the program as a full time student and needed to “get back to paying work” as quickly as I could.
The Pandemic also complicated things. When I made my decision I was going to go full time and not try to work/study, I was expecting to have most of the time during the day with my kids in school. And then the schools shut down. SO. Then I got to be full time teacher for myself, and my kids. It was a bit of a trial and I would not want to do it again but overall it all worked out.
I am also glad I got through the program pretty fast because it tied together some of the concepts you learn early with some of the concepts you learn later in the courses pretty well. Memory allocation and how it all “really” works was pretty helpful having assembly and 344 “pretty close” together. Same time, there were some bigger concepts that are still just barely sinking in. Not to mention the ability to really get comfortable with a single language. I am pretty good at a lot of them, but none of them I would say are my “native” language that I feel super comfortable with. I hope that once I get in industry, I won’t be switching languages every 2-3 months.
Overall, I have been able to find work that will actually start this quarter and have enjoyed everything I have learned and everyone I have had a chance to learn from. I look forward to putting it all into practice now!
John