"Where's my desk?" - Search no more: Manage your floor plan and space layout; Keep track of item locations; Collaborate to maximize overview for your office, event location or lecture rooms.
Example screenshot:
health and metrics endpoints availableYou'll need Node.js >= 18.x and Yarn:
yarn install to install all necessary dependenciesyarn startcp environments/.env.development environments/.env and adjust it accordinglyyarn install --frozen-lockfile --ingnore-scriptsyarn build<TARGET_DIRECTORYmkdir <TARGET_DIRECTORY>/static cp -r node_modules/ <TARGET_DIRECTORY>/cp -r workspaces/api/dist/* <TARGET_DIRECTORY>/cp -r workspaces/api/frontend/* <TARGET_DIRECTORY>/static/node main$ docker build -t desk-compass .
$ MSYS_NO_PATHCONV=1 docker run --rm --name=desk-compass \
-e DATABASE_PATH=/storage/db \
-e IMAGE_STORAGE_PATH=/storage/images \
-v "/.tmp/deskcompass:/storage:rw" \
-p 5000:3030 desk-compass
Open http://localhost:5000/ in your browser
Environment variables:
The following environment variables are required to start the application:
IMAGE_STORAGE_PATH (must): Path to folder to store uploaded images. Read and write permissions for the application are required.DATABASE_PATH (must): Path to folder to persist application data. Read and write permissions for the application are required.The following environment variables are optional:
NODE_ENV: Should be set to development for local development. It is empty by default. If set to development, it willAPI_PORT: adjust port to backend API, fallback is 3030DATABASE_HUMAN_READABLE: application data is stored in a JSON file. Set this to true for readability.CORS_ALLOWED_ORIGINS: comma-separated list of allowed origins (will be parsed as Regex). If not set, CORS will be disabled. Eg.: CORS_ALLOWED_ORIGINS="localhost:3000$,127.0.0.1:3000$".CORS_ALLOWED_METHODS: comma-separated list of allowed methods. If not set, it will fall back to "GET,HEAD,OPTIONS,PUT,POST,DELETE"METRICS_PORT: Port for metrics endpoint, defaults to 3033. This would expose http://localhost:3033/metrics for local development.Install all necessary dependencies, create basic environment setup for local development and then start application in watch mode:
yarn install
cp workspaces/api/local.env workspaces/api/.env
yarn start
Run frontend and API tests
yarn run test
Run API tests only
yarn workspace api run test
Run frontend tests only
yarn workspace frontend run test
For all calls a yarn run test:watch variant exists.
Install browsers with npx playwright install
Run e2e tests:
yarn run e2e
Run e2e tests in watch mode, which opens vitest UI:
yarn run e2e:watch
To run application and e2e tests independently, start the application first with
yarn start
and then in another console:
yarn workspace e2e run test:watch
Run frontend and API linters
yarn run lint
Read through our contributing guidelines to learn about our submission process, coding rules, and more.
Want to report a bug, contribute some code, or improve the documentation? Excellent! Read up on our guidelines for contributing and then check out one of the project issues labeled as help wanted or good first issue.
This project is licensed under the MIT License - see the LICENSE file for details