A simple online webstore for individual initiated non-supervised food purchases.
See:
- serveit: the node.js typescript backend.
- typesit: shared types between backend and front end with type validators.
In the built client app, the config files in app-settings.development.json and app-settings.production.json must be set to the correct values.
If you would just like to run a simple local copy just to test the latest version, you can use the included docker compose.
For active development, it is recommened to have spendit, serveit, and typesit cloned into the same folder.
First, in the package.json for spendit and serveit, replace the typesit version with file:../typesit.
Then, follow the setup for serveit here for the environment variables (those can be placed in a .env file in the root of the serveit folder).
Afterward, run the following commands in separate terminals:
#typesit
cd typesit
npm build
#spendit
cd spendit
npm i
npm run watch:backend
#serveit
cd serveit
npm i
npm run watchUsually, the production setup is ran on a linux VM with the following steps:
- Download latest serveit backend.zip
- Download latest spendit app.zip
- Extract the contents of the app zip to the folder you want to store everything
- Rename the dist folder to app
- Extract the contents of the backend zip to the same folder you extracted the app zip to
- Follow the serveit setup instructions, placing the environment variables in a .env file
- Configure the
app-settings.production.jsonfile inapp/assets/config/ - Follow the starting serveit instructions to setup and start the systemd service