Skip to content

MarcinKanarDev/IGroceryStore

 
 

Repository files navigation

IGroceryStore

.NET

Loosely coupled monolith app where users will track pesronal basket price.

Projects Structure:

IGroceryStore-Diagram

Modules:

Available actions:

  • Register
  • Login
  • Refresh Token
  • GetAll/GetUser

Available actions:

  • Create Product
  • Mark Product As Obsolate
  • Add Alergens To Product
  • CRUD for Categories
  • CRUD for Alergens

Available actions:

  • Create Basket

Available actions:

Stack

.Net7.0 C#11 with Minimal API
Docker
AWS Systems Manager - runtime configuration
JWT.Net - authorisation and authentication
BCrypt.net - password hasing
GitHubAction - CI/CD
RabbitMQ - asynchronous messaging
PostgreSQL - database with json support
Entity Framework Core - ORM
OpenTelemetry - Traces, Metrics
Jaeger - UI for OpenTelemetry
image

Main features:

  • Comparing basket price across stores
  • Searching for alergens free products
  • Rating products and stores
  • Searching for similar products
  • Watching product prices over time

How to run

  • From the tools directory run the command:
    docker-compose up -d
  • Run ASP and Worker Project (add compound configuration in Rider)
  • API endpoints: localhost:5000/swagger
  • All ports for infrastructure available in docker-compose file
  • To connect to pgadmin from docker use:
    docker run -p 5050:80 -e "PGADMIN_DEFAULT_EMAIL=name@example.com" -e "PGADMIN_DEFAULT_PASSWORD=admin" -d dpage/pgadmin4

About

IGroceryStore - Loosely coupled monolith app

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.4%
  • Shell 0.6%