During this course, we will be developing an app to interface with github to allow us to search for and see different github users and display them on our web interface. By the time this course is done, we will have developed this app together which has consistent style, type-checking, linting, testing, and clean interfaces to a backend API. You will then take what you’ve learned and apply it to a project of your own devising (i.e. a capstone)
Diversity Scholarship and Alumni Discount Available
Duration: 5 weeks
Mob programming with React
Will introduce the class to mob programming, and we're going to run through a live example of coding a React single-page app using ES6 and JSX with Chrome. We'll go through the design and development of an app together from scratch and the students will see the design and refactoring process together as we craft the app. They will be expected to reproduce the app on their own. We will start writing an application that interfaces with Github using "canned" data.
Introducing the build
Standards and documentation
Duration: 2 weeks
Introducing webdriverio and selenium to allow you to test your app at the highest level so that you can fire yourself from being the person who clicks on things and squints at each one of your pages to make sure it looks right. Let your computer do that! Bonus round is to do automated visual regression-testing. We will add e2e tests to our React app.
Unit testing with Mocha/Chai
You've got your top-level tests, and that's great, but when you're working on a new function, you need to be able to test that function in isolation and get rid of the DOM. We'll learn how to write tests for your code in isolation and to make sure that your tests are readable and non-brittle. Let's add unit-tests to our React app.
Duration: 4 weeks
Asynchronicity and Promises
We'll get into the latest http-request library, called fetch. We'll use it to interface with a Github API and we'll see how we use promises within React to update the UI when calls to the backend are resolved. Now we're finally going to interface our application with the actual online live github API!
Now that we know how to interface with a well-formed and well-documented REST API, it would be nice if we could interface with one of our own. However, in today's cloud-service world, you usually don't need to build a backend to make an application. We'll talk about Firebase and we'll add a "note-taking" feature to our application which allows us to take notes on developers that we're stalking on Github.
(BONUS Round) State management with immutable patterns
We learned all about functional programming and asynchronous actions, but how does that translate into a React-based world? Introducing Redux. Manage all your state transitions through pure functions! Keep your entire state system in one immutable object! Funnel asynchronous actions through thunk functions! So much fun and crazy terminology!
Once the lecture section of the bootcamp is over, you will use everything you’ve learned to create a final capstone project of your own devising. Your instructor and TA will be available to help when you get stuck and for code review.
Show off your hard work to your classmates, family and friends during demo day!