30 lines
1.3 KiB
Markdown
30 lines
1.3 KiB
Markdown
Beer-inventory project for home use.
|
|
|
|
The project has three aspects.
|
|
- The website, which people can visit to see the current inventory of drinks. They can see in which section a drink is stored.
|
|
- The Admin website, which is part of the main website but only to logged in admin users. Which allows updating drinks, inventory, and adding or editing data.
|
|
- The scanner, which is a raspberry pi with touchscreen display and a USB barcode scanner. This is next to the fridge, and people use it to scan a drink to remove it from the inventory.
|
|
|
|
Used technology:
|
|
- remix.run (now known as react router)
|
|
- prisma
|
|
- zenstack
|
|
|
|
Limitations:
|
|
- Dependencies cannot be updated
|
|
- Project needs to work locally without online dependencies
|
|
- Project needs to work with existing database
|
|
- The project is turned off when not in use, so needs to be started quickly when needed
|
|
|
|
Architecture:
|
|
- server-client together in the same file, as per remix-run
|
|
- react for frontend
|
|
- three levels
|
|
- user (can view the website on their phone)
|
|
- scanner (the physical raspberry pi with barcode scanner at the fridge)
|
|
- admin (me, the developer that can access and update everything)
|
|
|
|
Building and validation:
|
|
`npx remix vite:build` to build the project and check for errors
|
|
`npx remix vite:dev` to run the project in live dev mode
|
|
`npx remix routes` to validate all routes are present and correct |