On this website, customers are able to sell products and make money by it. On the last round, they can win the jackpot.
There are 10 rounds and 1 super round on the website. On each round customers are given random products and a deadline to sell them. On every sold product, they earn coins that can be withdrawn and customer will be moved to the next round. Every next round is harder than previous because of products price increment, but also customers have more time to sell products.
You can play on site by this urls:
There are two environments: one for staging - test.si.ge and second for production - si.ge.
The solution contains three web projects:
-
- the main website where customers can register and participate. http://test.si.ge
-
- an admin panel where an administrator can administrate the main website and get reports. http://admin.test.si.ge
-
- the website for partners, where they can confirm product sales. http://partner.test.si.ge
- We use Uncle Bob's Clean Architecture
- CQRS
- mediator pattern (using Mediatr library)
- repository pattern
- dependency injection
- optimistic locking
- domain event pattern
(all code should be mockable and testable)
- dotnet core 3.X with C# for backend
- mssql as db
- vue.js for frontend
- vuetify as frontend component library
- dapper as orm
- serilog for logging
- dotnet cli
- vue cli
- npm for frontend package manager
- nuget for backend package manager
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
before build or run backend, make sure you have changed values of appsettings.json file.
- to run backend:
dotnet watch run
- to run frotend application:
npm run serve
- to publish frontend applciation
npm run build
this command automaticaly builds client project and copies it into backend folder - wwwroot