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!