Duck… Duck… QUACK!

By: Zak Dietzen

After a great holiday break we are back at it. Quack is going to pretty much consume the rest of class time for me, but I am excited about that! I started off the project thinking about my database structure. This takes a lot of time to plan out and get correct. I then used a great tool called draw.io to sketch out my database structure.  Once I had it the way I wQuackLogoSmallanted, I used code first entity framework to build my database. This took me a day or two to figure out. I was struggling mapping with the code first approach. I sat down with Cameron for a good hour or two and he helped me work through the issues I was having.

I spent the rest of the week building out the back end of Quack. It was starting to shape up when Cameron mentioned he would like to be able to log in using Google+ or Facebook login. Authentication is already a struggle so learning how to do this was going to be difficult. Most of my time was spent on the internet researching oAuth and following tutorials. I finally asked Cameron for help and I am glad I did. There are so many moving parts with oAuth it got really confusing really fast. After about two and a half days of wrestling with authentication I think it’s ready. I need to test it still but I can’t do that yet because I need to host my application somewhere other than localhost.

I felt like I made some pretty good progress on Quack and decided to write a resume this week as well. I have been putting this off for a long time and I felt like now is a better time than ever to start writing one. I researched a lot of developer resumes and decided on a layout that I really liked. It took a solid day to get it filled out with just the right information, or at least so I think! I need to start getting serious about the job search considering we only have one more week of class. That is extremely hard to believe, and depressing. I want to learn even more!

That is this week in a nutshell. I feel like I got a decent amount of work done and I am looking forward to tackling our last full week of class. So check back next week for the final full week. I will hopefully be finishing up Quack and getting ready for the job hunt. I am extremely nervous for what’s ahead, it should be exciting!

Twelfth Week in Coding Bootcamp: Blog Aggregator, OAuth, and Azure

By: Karen Snyder

 

December 7 was the start of the twelfth week  in coding bootcamp! It was actually not our last week; we still have class next week through Wednesday, which allows me more time to complete my Blog Aggregator capstone project.

I had some problems with Angular Material, but with Cameron’s help I was able to complete the front end. I also completed the basic functionality, so now I can add blogs to Blog Aggregator and approve the blogs for display, and then Blog Aggregator extracts the posts and displays them! I can also reject blogs for display, and delete them. A large part of the functionality is done, but there are still two parts to add: authentication, and periodic updating of the blog posts.

OAuth has reared its ugly head again… It would not be a good idea if just anybody could approve/reject/delete blogs, so I need to have authentication in Blog Aggregator. It was going to be the same type of  user/password authentication that I had implemented in a previous project, although there might be some complications due to the repository layer. However, Cameron said that he would like to be able to log in with Google+, and potentiallyFacebook. This was a great real-world example of the product owner changing the requirements! So I had to research logging in with external providers, with the help of Zak, who is also adding external login providers to his Quack project. I’m focusing on getting the Google+ login working before I work on the Facebook login.

It took over two days to try to understand how external login authentication works, and add the necessary code. Then I had to learn how to use Azure, a cloud platform that can host Web applications, to host Blog Aggregator. The reason for needing Azure is that when an external provider receives a login/authentication request from a localhost address rather than a secured https: type address, it does not allow the  request. I got to the point where Blog Aggregator sends a request to Google+ and receives an access token, but then there was a problem in the Blog Aggregator API when processing the token…  still working on it!

The other part that I need to add to Blog Aggregator is that after a blog is added to Blog Aggregator, any new posts to that blog need to be added to the database. This functionality can be handled by an Azure WebJob, which provides a way to schedule a periodic task. After studying a lot of Azure WebJob documentation,  I started on the WebJob part of my project. I did complete the service methods to update the table, but I’m having trouble with the interaction between Simple Injector and the WebJob.

This week I did take a small break from coding to teach at  Franklin Elementary School for the Hour of Code. This is an event that aims to introduce students to coding concepts, with the aid of a Star Wars tutorial that uses drag and drop blocks. I taught a sixth-grade class, with the help of the teacher and other volunteers, and the kids loved it; they didn’t want to stop for recess!