About | Features | Technologies | Requirements | Starting | License | Authors
Dashboard to interface the remote-cnc API, to control an Arduino-based CNC machine.
✔️ Files, users and inventory management
✔️ Real time monitoring of CNC status
✔️ Manual control and calibration of CNC status
✔️ Tasks management and scheduling
The following tools were used in this project:
Before starting 🏁, you need to have Node installed.
Alternatively, if you have Docker installed, you can build and run the application, both in development and production mode, without installing the project locally.
The first time you use the app, you must run:
$ npm install
# or
$ yarn installThen, every time you want to run the development server:
$ npm run dev
# or
$ yarn devOpen http://localhost:3000 with your browser to see the result.
$ docker compose --profile=ui upYou can start a mocked version of the camera web server, which streams the test file /camera/video/mock.mp4 in a loop.
$ cp camera/.env.dist camera/.env
$ docker compose --profile=camera upif you want both ui and camera:
$ docker compose --profile=ui-with-camera upYou can validate the camera web server works properly by visiting http://localhost:8081 in your web browser.
You can also start a mocked version of the API, created with Mockoon.
$ docker compose --profile=api upif you want both ui and mock API:
$ docker compose --profile=ui-with-api up$ npm run test:unitThe coverage report is available in the folder /coverage/lcov-report.
$ npm run test:e2eThe report is available in the folder /playwright-report, or by running the command npm run test:e2e:report.
NOTE: Before running the E2E tests, be sure to update the build output (npm run build).
In this project we use prettier for the formatting rules, and ESLint for code quality rules.
# Formatting
$ npm run format:fix
# Code quality
$ npm run lint:checkMost commands can be run in the following way: docker exec -it remote-cnc-app {{command}}:
# Formatter
$ docker exec -it remote-cnc-app npm run format:fix
# Linter
$ docker exec -it remote-cnc-app npm run lint:check
# Unit tests
$ docker exec -it remote-cnc-app npm run test:unit
# Build output
$ docker exec -it remote-cnc-app npm run buildThe great exception are E2E (end-to-end) tests, which can't be run from inside a container yet.
You can export the app as a static site, and serve it from a static server:
$ npm run build
# or
$ yarn buildThis project is under license from MIT. For more details, see the LICENSE file.
Made with ❤️ by Leandro Bertoluzzi and Martín Sellart.