Week 9

Software Engineering (CS 373) Spring 2017

What did you do this past week?

Spring break is over. Having been busy over break, I spent the last week catching up on my coursework. For this particular class, I finished Phase 1 of the IDB project this week with my team. The assignment was to create a website using AWS and Flask. In this phase, we were not expected to make the website dynamic but we were to set up the database models for future website. There were many challenges along the way, notably our lack of experience in the necessary tools such as ReactJS, SQLAlchemy, AWS, Flask, and Jinja2. My group went a little further than needed by connecting AWS RDS to Flask, dynamically rendering the page content, and getting sorting and filtering to work. We spent a lot of time this week working on this project (I think we hit close to a combined 200 hours). It was a lot more than we had expected to spend but by setting everything up from scratch, I learned a lot about how everything connects.

What's in your way?

An issue that I currently face that I had anticipated in the last blog post was coordinating with a 6 person team. We need to coordinate better. The last week was a mess since we were meeting at random times and the workload was far from evenly split. Even with Trello and Slack, it was not smooth. We finished and submitted this time but this is something that we will need to work on.

What will you do next week?

I have a test in Algo next week. I will need to prepare for that. I will be starting early on this phase of the project but I expect less work this week since the database is already set up and the website is being rendered dynamically. We will just have to scrape crunchbase for the data. We might also have to move the sorting and filtering to the backend if the data gets too large but that is a worry for the future.

What’s my experience of the class?

We have moved to talking about databases in class now. While Professor Downing is a great lecturer and he makes sure that we are crystal clear about everything that he teaches, I didn't like the amount the class focused on Python. Of course, we have talked about testing and coverage, and we have done a lot of readings on software engineering concepts. Nonetheless, I enjoy this switch to talking about databases as it is more conceptual and less about just the semantics of Python. Especially having taken a Python course, some of that content just was repetitive.
Apart from that, I thought this project was quite messy. Part of that was my group's fault. I remember Professor Downing showing us the REI website a while ago but when we were working on the project, we saw past projects and we saw Javascript grid libraries. All of them were tables. So, we (incorrectly) assumed that we should create tables, and we spent many hours aligning the tables and making them responsive. On the day that the project was due, the day we had kept for finishing the report, we had to scrap all of that and switch to a grid layout. I have no complaints about the choice of a grid over a table as I personally, by far, prefer a grid layout. Still, in other aspects, the rubric was either vague or confilicting and talking a bit more about the project in class would have been helpful. That said, I like this project a lot as it gives us insight into some of the most used tools in the industry right now.

What's my pick-of-the-week or tip-of-the-week?

Publish a skill for Alexa! I just received my February hoodie from Amazon yesterday. All you have to do is follow the provided instructions/templates to publish an Alexa Skill and Amazon will send you something for that month. It does not take very long and you will be exposed to Node.js and AWS Lambda.