Skip to content

colabco/cbld-api

Repository files navigation

cbld-api

prerequisites

  • please use nvm to manage your node installations: nvm
  • pnpm is the package manager for this project: pnpm

Setup

After cloning this repository:

  • nvm use to switch to the correct node version
  • pnpm install to install the project dependencies
  • pnpm dev to start the server in development mode

Other tasks

  • run pnpm routes to see the list of routes available
  • run pnpm test to run tests and see coverage report
  • run pnpm build to build the project for production
  • run pnpm start to start the server in production mode

Development Cycle

  • create a local branch for the ticket you are working on. All tasks must have a corresponding ticket.:
    • e.g. git checkout -b feature/23-add-login-route (for a ticket with id 23). If it's a bug, do something like git checkout bug/23-fix-login-route instead.
  • If working on new/changed routes, ensure the corresponding tests are added updated in /tests. (See the Test Cycle section below for more details)
  • run tests to make sure tests are passing: pnmp test.
  • commit your changes locally, e.g.:
  • git add .
  • git commit -m "I added the new login route"
  • create a PR:
  • git push origin feature/23-add-login-route
  • click on the link offered by git cli to open a new PR in your browser (Or, login to github, find the branch you just pushed, and create a new PR for it).
  • once the PR is merged, you can delete the branch you created.

Test Cycle

  • The test coverage tool is c8.
  • Test execution can use node:test and node:assert as the assertion library.
  • test/helper.ts creates a test configuration which is passed to an app instance (bootstrapped with @fastify-cli/helper) which is then handed to a test suite.

Fastify CLI

Note that this repo contains fastify-cli, which is a CLI for fastify. It is installed when you run pnpm install. You can feed it a fastify plugin file and it will run the server for you.. The majority of commands in package.json are therefore fastify-cli commands that are simply fed the api app in src/app.ts. The actual server is in the src/server.ts file. This is what will run the api app when fastify-cli isn't around to run it.

Learn More

To learn Fastify, check out the Fastify documentation.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors