This project is a small ERP system for a supermarket or other retail business.
The main function is a user administration with 3 different roles (cashier, shelfFiller, manager), each role represents a different profession. By logging in, each user is redirected to their corresponding view and can work there at a cashier, in the warehouse or as a manager.
It was created as part of an exercise project where the focus was on learning and first contact with dotnet and React.
The name Jupiter has its origins in a play on words based on the electronics store Saturn.
Here you can see the project in action, which was presented as part of the “Tag der Ausbildung" at Rosenberger. It was set up in a separate network consisting of a tablet, office workstation, server, and cash register.
- Install frontend by running
npm installinside thefrontendfolder - Start the frontend by running
npm run devinside thefontendfolder - Start the SQL-Server by running
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=UserDbPassword0!" -p 1433:1433 --name sqlserver --restart=always -d mcr.microsoft.com/mssql/server:2025-latest - Create User database inside SQL-Server
dotnet ef database update --context UserDbContextinside thebackendfolder - Create SQLite database with
dotnet ef database update --context ShopDbContextinside thebackendfolder - Start the backend by running
dotnet runinside thebackendfolder
- Create database migrations for UserDb
dotnet ef migrations add InitialCreate --context UserDbContext -o src/Migrations/User - Update database migrations for UserDb
dotnet ef database update --context UserDbContext - Create database migrations for ShopDb
dotnet ef migrations add InitialCreate --context ShopDbContext -o src/Migrations/Shop - Update database migrations for ShopDb
dotnet ef database update --context ShopDbContext
The Api can be tested with Swagger at this localhost address http://localhost:5093/swagger.
- GUI Navbar
- Product categories and multiple types of products
- Imporve edit / create product pages
- Use SQLite DB for Shop
- Seperate Employees DB
- Integrate dotnet identity in the project
- Shelf view (create, update, delete)
- CashRegister view (sell products)
- Analyse view
- Custom Product images
- Handeling big numbers as product ids
- Creating relations between shelves and products
- Creating a identity system with login
This Project was originaly based on this Blog Post, but now it corresponds to less than 10% of the codebase.