WEB setup

What's automated ?

  • NodeJS + NPM installation - The lab 0 says you need NVM but probably don't need it.
  • PNPM - Performant NPM, optional but can be useful for labs to avoid boringly long "npm install" commands

How to use this automation on Fedora ?

Preparation

Install base tools (this installs the useful functions like r, scr, labget, ...)

lxup play base

Install WEB tools

lxup play web

Practice more with WEB-training and PRJS

I was frustrated by the lack of dedicated exercises proposed to drill some of the JavaScript functions, like arrays and strings manipulation. I created 15 + 20 exos for these skills and published them on samuelroland/WEB-training. You can fork the repository and work on it ! There is also a small React training with a nice looking emoji browser.

The functions to develop are supported by unit tests to automatically checks for the result. These tests are run by a dedicated tool called PRJS, that my group developed as the last free-subject lab! It looks like this:

prjs example

If you want to create more exercices, you are extremely welcome to contribute them, I'm happy to review and integrate them.

Note for teachers
If you are a teacher of the WEB course, I encourage you to look at it and propose these exercises to your classroom! My hope with this project was to provide the tools to easily create new JS exercises with automated checks. I created only a handful of exos, for 2 small skills, but I'm sure there are tons of opportunities to create more for skills like

  • creating network requests via fetch or XMLHttpRequest, GET, POST, etc, mocked with mockito i.e.
  • managing promises with the 2 possible approaches
  • Using Set and Map
  • using classes
  • writing or generating callbacks
  • ...

I'm happy to review them or just give you commit access on my repository, if you want to contribute them there.

Feel free to contact me by email or via the Issues directly, if you need help.


Did you found some errors or improvements ? Please contribute back by email (samuel.roland username for heig domain) or with a PR !