Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
What Is Bookstore? The Shared Example Application Behind This Site's Series: Product, Users and Business Rules
Bookstore is an online bookstore chosen so that every series on the site takes place in the same world: retail sales, Institutional Orders for schools and libraries, and a back office. We cover its six roles, the main flow from catalog to shipping, business rules such as the 20-copy minimum, the 10 percent institutional discount, non-stacking campaigns and rounding half a cent up, the product's numbers and its team.
Bookstore's Technical Structure: Modules, Data Model, Web API and the Angular Client
Bookstore's reference application holds the Catalog, Ordering and Inventory modules in a single ASP.NET Core 10 API, one BookstoreContext with a SQL schema per module, xUnit v3 integration tests and an Angular 22 client. We cover the module map, the data model, the endpoints, the first stock code that deadlocked under concurrent orders and the conditional UPDATE that fixed it, and the steps to run it on Windows.
The Bookstore Repo and Reading Map: Where Is the Code and Which Part Is in Which Series?
Bookstore's code lives in a single GitHub repo: main is the reference application, every series is a series/<series-slug> branch and every post a <series-slug>/NN tag. We cover getting a post's code with git switch --detach, seeing the difference between two posts with git diff, experimenting on your own branch, and reading paths for backend, frontend, architecture and team leads.