{"id":15092943,"url":"https://github.com/danalee317/pos_dotnet_ex","last_synced_at":"2026-02-04T22:33:18.036Z","repository":{"id":243053293,"uuid":"811330025","full_name":"danalee317/pos_dotnet_ex","owner":"danalee317","description":"Concept Point of Sale (POS) system - Blazor UI and Microservices, HTML, Frotnend","archived":false,"fork":false,"pushed_at":"2024-06-06T11:54:27.000Z","size":537,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-12T11:04:08.180Z","etag":null,"topics":["architecture","aspnet-core","blazor","demo","dotnet","microservices","point-of-sale","pos","shop"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danalee317.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-06T11:44:02.000Z","updated_at":"2024-06-06T11:58:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"71469f9f-743d-4a52-977c-1d334f2afbd2","html_url":"https://github.com/danalee317/pos_dotnet_ex","commit_stats":{"total_commits":3,"total_committers":2,"mean_commits":1.5,"dds":"0.33333333333333337","last_synced_commit":"38f2994066e4b861585fc402256ca8ac5c0f79aa"},"previous_names":["danalee317/pos_dotnet_ex"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danalee317/pos_dotnet_ex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danalee317%2Fpos_dotnet_ex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danalee317%2Fpos_dotnet_ex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danalee317%2Fpos_dotnet_ex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danalee317%2Fpos_dotnet_ex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danalee317","download_url":"https://codeload.github.com/danalee317/pos_dotnet_ex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danalee317%2Fpos_dotnet_ex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29098234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T21:05:08.033Z","status":"ssl_error","status_checked_at":"2026-02-04T21:04:53.031Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["architecture","aspnet-core","blazor","demo","dotnet","microservices","point-of-sale","pos","shop"],"created_at":"2024-09-25T11:01:55.028Z","updated_at":"2026-02-04T22:33:18.021Z","avatar_url":"https://github.com/danalee317.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# Point Of Sale POC\n \nA Point of Sale app - demonstrating a distributed system supported by a well-crafted UI.\n\n## Videos\n\n* [General checkout UI](https://www.youtube.com/watch?v=wDP1ShXDgY8)\n* [Auto-apply discount to item](https://www.youtube.com/watch?v=5MCQMhSh_gg)\n* [Hypermedia API](https://www.youtube.com/watch?v=LbCUFEter_A)\n\n## Background\n\nThis is an attempt at learning micro-services and asyncronous messaging that started as simply a \"Point of Sale\" app.\n\nDue to its nature, learn as you go, this is not the most complete sample.\n\n### The Purpose\n\nTo learn and share knowledge on how to design and implement a complex project based on [micro] services. And to have fun, at the same time. :) \n\nFeel free to take inspiration from this work of art!\n\n### Development approach\n\nIt started when crafting a UI and adding the basic functionality. Thinking about the domain, what a User would expect from an app such as this - a general Behavior-centric approach to development.\n\nFirst there was the Product Catalog, and then came the Cart system. Later the Customers service was added. Then the ability to create Receipts.\n\n### Project structure\n\nThe distributed app consists of code in .NET 6, using ASP.NET Core, and Blazor for UI. \n\nAs a development orchestrator, Tye is used. It has some Docker image dependencies that are also being managed by Tye.\n\nSQL Server, Nginx, RabbitMQ, and Redis, are all running in Docker. Check ```tye.yaml```.\n\nThe main services are: Carts, Catalog, Customers, Billing. The supporting project is Marketing which house the Discounts. The rest are in a basic state, with some not interacting with the main app.\n\n## Disclaimer\n\nThis is an educational effort that was created for fun when trying to understand the domain and how to implement it.\nIt has never been made with any intention to be set into production.\n\nIt SHOULD NOT be used in production.\n\n## How to run\n\nFirst, make sure that .NET 6 SDK and the Tye global tools are installed.\nYou also need Docker.\n\nThen, in the solution root directory, run:\n```\ntye run\n```\n\nThis will start all the services and Docker containers.\n\nDashboard:\n```\nhttp://localhost:8000\n```\n\nPoint of Sales UI:\n```\nhttps://localhost:8080/\n```\n\nYou have to configure the certificates for SSL to work with Nginx. Check ```cert.md```.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanalee317%2Fpos_dotnet_ex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanalee317%2Fpos_dotnet_ex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanalee317%2Fpos_dotnet_ex/lists"}