Proof of concept app using vanilla JavaScript and the public Github REST API.
git clone <this_url> && cd <repo_name>
npm install
Prerequisite Docker
Build...
docker build -t vanilla-js-image .
Run...
docker run -dit --name vanilla-js-container -p 8080:80 vanilla-js-image
Browse...
http://localhost:8080/
npm run dev
=> launch app via lite-server on http://localhost:3000
.
npm test
=> run all Jest suites.
❄️ Integrate with linc CI tool...
npm run build:fab
=> test build
./node_modules/.bin/eslint src/
=> lint all modules in src/.
- Node.js 13.5.x
-
Jest test coverage...
- Mocking complex objects
- Exported functions and modules
-
Integration with CI/CD tool => linc.
-
ES6x features, style and convention...
- Promises
- async/await
- import/export
-
Storage
-
Minimise use of global namespace...
- Prefer const and let
- Prefer Revealing Module Pattern (RMP)
-
JSDoc implementation comment coverage.
-
Code style...
- Display Github profile details and avatar from https://api.github.com/users/v3.
- Cache data to client.
justification:
- single-page app
- data is publicly available
- data size does not exceed 1.2MB
Ice ice baby, Ice ice baby, All right stop, Collaborate and listen, Ice is back with my brand new invention, Something grabs a hold of me tightly, Flow like a harpoon daily and nightly, Will it ever stop?, Yo, I don't know, Turn off the lights and I'll glow, To the extreme, I rock a mic like a vandal, Light up a stage and wax a chump like a candle
Dance