Nutrix is a point of sale management system RESTful api. It allows you to manage inventory, sales and products for your restaurant or shop.
You need to integrate with a separage GUI service to provide an interface for end users, you can find suggested GUIs in the GUI section.
Currently nutrix supports only restaurant style cycle, where the order is sent first to the kitchen awaiting to be started then begin processing the inventory.
OpenAPI 3.x Docs :
modules/core/specs.api.yaml
You can use the openapi docs to run Swagger
docs and test the api and you can also use the docs with a mock server like Prism
to develop the frontend without the need of installing nutrix.
-
- Before running the web server or seeding, make sure to set the MongoDB credentials properly in config.yaml
-
-
Also make sure that a Zitadel instance is up and running, Zitadel is used for auth in the project.
-
Make sure to create a Zitadel api app inside your project and download the zitadel-key.json to a safe location
-
Make sure the domain, port and key path are set properly in config.yaml
Note that Zitadel needs to be reachable using the same domain from the backend and the frontend, docker produced notable connection issues regarding the hostname, which requires additional settings like adding a reverse proxy to be able to reach it using the same hostname as from the browser.
-
-
- test by running
google-chrome --version
(tested on linux)
- test by running
- Run
go run .
in the backend root directory to run the server
- Run
go run . seed
in the backend directory which will prompt for entities to seed.Warning quiting the prompt with
ctrl+q
oresc
will run the seeding process, if you want to quit, just deselect all the entities
Since nutrix is an api based project, you will need a GUI to let end users interact with the api, you are free to create your own GUI and integrate it with the api. if you have an api you can open a discussion with a reference url.
Following are suggested GUI(s) :