This repository contains the source code for the Rooms API. It is written in TypeScript, uses Express, and MongoDB. The UI for Rooms project is available at windingtree/rooms-ui.
Please run npm install
in the project root directory. Also, please see the documentation in docker/README.md, which describes how to run MongoDB locally as a Docker container (with proper seeding).
To build API source code:
npm run build
This generates JS code in build
folder.
To develop, it is recommended to use the following approach.
First, we continuously generate the JS source code using tsc
watch mode:
npm run build:watch
Then, in a separate terminal, run the server in watch mode (utilizing nodemon under the hood):
npm run start
To run unit tests:
npm run test
To lint API source code against project defined ESLint rules:
npm run lint
To make ESLint try and automatically fix errors/warnings:
npm run lint:fix
You can find more details about the structure of the code base, and a discussion of some architectural decisions in docs/README file.
This project is licensed under the MIT license. See LICENSE for more details.