Research day

Research Topics

Discuss with your teams who would like to take which topic and assign yourself to one topic each. This way knowledge can be pooled from across your team for use in the group project.

Suggested formats: screencast, slideshow + quiz, readmes + quiz

Task 1 - readme - For those who want to go deeper into fundamentals

  • Investigate the core modules: http, fs, url, path, querystring, and their methods.
  • Investigate the request and response objects, what are some of their useful properties?
  • Look into module.exports. How does it work?

Create a readme on the methods and properties you find most useful for the group to know.

Task 2 - video tutorials - For those who want to go deeper into testing

Travis, Istanbul, Code Climate and CodeCov. What is continuous integration and what are it’s benefits. Run Istanbul for a simple tested file. Host the files on Travis.

Travis takes a long time to build, how can this be improved. Look in to github repo badges, code climate and codecov badges.

Create a simple node app and host your tape tests for it with Travis. Integrate the other technologies with your travis ci as much as possible.

Task 3 - For those interested in learning about hosting/ deployment

Split into pairs or do these tasks consecutively:

How to get a project hosted on Heroku.
  • What's a procfile?
  • Heroku comes with its own command-line interface. What are the most useful commands to know?
  • Where else could you host your site, what are the pros and cons of other hosting options?

Your task is to create a basic node application and create a tutorial going through the steps of hosting it on Heroku (I'd recommend doing a screencast). Push changes to your github repo then update the version on Heroku.

What is the env2 module?
  • How could this be useful?
  • What is process.env?
  • What are environment variables, and what are other ways of setting them up?

Your task is to write a tutorial on how to send an api request using env2 (backend using http module) to store your api keys.

Task 4 - readme - For those who are feeling fairly comfortable with node

Split into pairs or do these tasks consecutively:

Investigate EventEmitters and the event module.
  • What are event emitters and event listeners?
  • What's the observer pattern aka the publish/ subscribe pattern?
Investigate Streams and the stream module.
  • What are streams?
  • What types of streams are there?
  • What are pipes?
  • Can you think of any examples you use in your command-line?

These concepts can get quite abstract. What are some common examples of EventEmitters and Streams in node we're likely to come across as a group?

Can you think of any small program ideas or code samples you can use to demonstrate and talk through these concepts with the group?

results matching ""

    No results matching ""