Skip to content

defstream/kickable

Repository files navigation

kickable

kickable is a microservice built to answer the age old question, "Can I Kick It?"

What is a kickable?

Currently only the word "it" is kickable.

NPM Build Coverage Vulnerabilities
npm version CI coverage Known Vulnerabilities
downloads Coverage Status

Requirements

Node.js 22+

Usage

$ npm ci
$ npm run build
$ npm start

The service listens on port 3000 by default. Set the PORT environment variable to override:

$ PORT=8080 npm start

Development

Type check

$ npm run typecheck

Lint

$ npm run lint

Build

$ npm run build

Test

$ npm test

Coverage

$ npm run test:coverage

API

GET /healthz

Returns 200 OK. Used by load balancers and orchestrators to verify liveness.

GET /kick/:it

Returns true if :it is kickable, otherwise false.

Example:

$ curl http://localhost:3000/kick/it
true

$ curl http://localhost:3000/kick/sky
false

What's next?

  • Case insensitivity
  • Support for configuring kickable items other than it
  • Return true if the item is a known kickable noun (ball, wall, door); otherwise false (sky, feelings, comments)

Maintainers

Hector Gray (Twitter: @defstream)

Contribute

Pull Requests welcome. Please make sure all checks pass:

$ npm run typecheck
$ npm run lint
$ npm test

Please submit Github issues for any feature enhancements, bugs or documentation problems.

License

MIT

About

Kickable is a service built to answer the age old question of "Can I Kick It?"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors