This is a simple REST API built with Node and Express that returns metadata for every NES game ever published. Tests were written using Insomnia and the Inso CLI tool and are run as part of a continuous integration pipeline using GitHub Actions.
yarn install
yarn start
- Navigate to http://localhost:3000 in your browser
yarn test
to run the Insomnia test suite (Make sure you have the app running already in a separate terminal window. Otherwise, use yarn ci:start-and-test
instead to start the app and run the tests all in one command.)
/
/games
/games/:gameId
/categories
/categories/:category
/developers
/developers/:developer
/publishers
/publishers/:publisher
/releaseyears
/releaseyears/:releaseYear
ci:start-and-test
: Concurrently starts the app and runs the unit tests (used as part of the GitHub Actions workflow for CI)ci:test
: Waits for the app to be running locally on port 3000 and then runs the unit testsformat
: Formats the code using Prettierformat-watch
: Formats the code using Prettier in watch modestart
: Starts the app locally with a Node Express.js server running on port 3000test
: Runs the Insomnia test suite
- Insomnia Docs: https://docs.insomnia.rest/
- Inso CLI Docs: https://docs.insomnia.rest/inso-cli/introduction
- Inso CLI GitHub: https://github.com/Kong/insomnia/tree/develop/packages/insomnia-inso
- Design Documents: https://docs.insomnia.rest/insomnia/design-documents
- Unit Testing: https://docs.insomnia.rest/insomnia/unit-testing
- Git Sync: https://docs.insomnia.rest/insomnia/git-sync
- Inso Run Test: https://docs.insomnia.rest/inso-cli/cli-command-reference/inso-run-test
- Continuous Integration: https://docs.insomnia.rest/inso-cli/continuous-integration
- What is GitHub Actions: https://resources.github.com/devops/tools/automation/actions
- GitHub Actions PDF: https://resources.github.com/downloads/What-is-GitHub.Actions_.Benefits-and-examples.pdf
- Quickstart for GitHub Actions: https://docs.github.com/en/actions/quickstart
- GitHub Actions for Building and Testing with Node.js: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python
- Node.js Starter Workflow: https://github.com/actions/starter-workflows/blob/main/ci/node.js.yml
- Setup inso: https://github.com/marketplace/actions/setup-inso
- Express.js: https://expressjs.com/
- Prettier: https://prettier.io/
- on-change: https://www.npmjs.com/package/on-change
- wait-on: https://www.npmjs.com/package/wait-on
- concurrently: https://www.npmjs.com/package/concurrently
- NES Games Database: https://www.gamesdatabase.org/all_system_games-nintendo_nes
- NES Games Wikipedia: https://en.wikipedia.org/wiki/List_of_Nintendo_Entertainment_System_games