This past week of the bootcamp was devoted to the Microsoft ASP.NET Web API. In other words, students learned how to build the server-side half of their full stack Web apps. By this point in the camp, students understand how all of the various pieces of a modern web app fit together.
On Monday, we focused on building ASP.NET Web API controllers. We spent time on routing, model binding, and validation.
Next, we devoted a day to using the Microsoft Entity Framework with the ASP.NET Web API to expose database data. Students learned how to perform CRUD operations with AngularJS, the ASP.NET Web API, and the Entity Framework with a Microsoft SQL Server database.
Wednesday was devoted to security. Student learned how to pass JWT tokens from an AngularJS app back to a Web API controller. We also covered several advanced topics such as using social providers (such as Twitter, Facebook, and Google) to login to a web application. Students also learned how to work with claims and send email confirmation for new user registrations.
On Thursday, students learned how to structure their server-side apps. They learned how to take advantage of the Repository Pattern and Dependency Injection to build more maintainable applications.
Finally, on Friday, students worked together to build a full stack app using TypeScript + AngularJS + ASP.NET Web API + Entity Framework. The students built an entire auction website. I was super impressed with how much they accomplished in a single day.
To practice using advanced security features such as ASP.NET Identity claims, the students decided on their own that they wanted to create a super user who had permission to outbid anyone. They seeded the database with a “Batman” user who has a special claim that enables him to always place additional bids and win any auction.
Student’s State of Mind
All of the students are required to complete an individual project before the end of the bootcamp. They work each night with the Teaching Assistants to make progress on their individual project.
This week, for the first time, the individual projects are starting to look like real web applications. For the first time, the students are storing their data in an actual database and they have enabled login and registration.
Each student selected their own individual project and it is fun seeing a new iteration of each project every morning. For example, one student is building a travel website, another student is building an online children’s game, and another student is building a Chinese language tutorial website. Each student is encountering their own hurdles and working through the issues.
Next week is devoted to Windows Azure and Mobile. The goal will be for everyone to build a hybrid mobile app that can run on an iPhone, an Android phone, and a Windows phone by the end of the week.
If you want to sign up for our next boot camp in Seattle then register here.