For this project you will create a RESTful API using Node and Express, containing endpoints to perform some CRUD operations on a resource of your choosing. Two or three endpoints are enough. Data should be persisted in a SQLite database.
- Write a minimum of ten tests using supertest.
Here is a checklist of tasks to help you put your project together:
- Generate a
.gitignore
file. - Install express, knex, sqlite3 as plain dependencies.
- Install jest, eslint, nodemon, supertest, cross-env as dev-dependencies.
- Configure jest and eslint using
npx <libname> --init
. - Create a
knexfile.js
with "development" and "testing" configurations. - Create a
db-config.js
file that selects the correct configuration using the value ofprocess.env.NODE_ENV
. - Create migration and seed files.
- Put together "start", "server", "rollback", "migrate" and "seed" scripts in your
package.json
. - Create a "test" script in your
package.json
using cross-env to inject aNODE_ENV
of "testing". - Create a basic express application with a few database access functions and a few endpoints.
- Test your endpoints manually using Postman, HTTPie or similar.
- Test your endpoints with supertest.