All Projects → Ermlab → Python Ddd

Ermlab / Python Ddd

Licence: mit
Python DDD example

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Python Ddd

Run Aspnetcore
A starter kit for your next ASP.NET Core web application. Boilerplate for ASP.NET Core reference application, demonstrating a layered application architecture with applying Clean Architecture and DDD best practices. Download 100+ page eBook PDF from here ->
Stars: ✭ 227 (+127%)
Mutual labels:  web-application-framework, design-patterns, ddd-architecture
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: ✭ 6,210 (+6110%)
Mutual labels:  design-patterns, ddd-architecture
awesome-software-architecture
A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.
Stars: ✭ 1,594 (+1494%)
Mutual labels:  design-patterns, ddd-architecture
Clean Architecture Manga
🌀 Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
Stars: ✭ 3,104 (+3004%)
Mutual labels:  design-patterns, ddd-architecture
Dermayon
Dermayon is Library for supporting build large application,distributed application, scalable, microservices, cqrs, event sourcing, including generic ef repository pattern with unit of work, generic mongo repository pattern with unit of work, kafka, etc
Stars: ✭ 66 (-34%)
Mutual labels:  design-patterns, ddd-architecture
eShopOnWeb
Sample ASP.NET Core 6.0 reference application, powered by Microsoft, demonstrating a layered application architecture with monolithic deployment model. Download the eBook PDF from docs folder.
Stars: ✭ 8,250 (+8150%)
Mutual labels:  design-patterns, ddd-architecture
Cp Ddd Framework
A lightweight flexible development framework for complex business architecture with full ecosystem!轻量级业务中台开发框架,中台架构的顶层设计和完整解决方案!
Stars: ✭ 566 (+466%)
Mutual labels:  design-patterns, ddd-architecture
Office Add In Ux Design Patterns Code
[ARCHIVED] Implementations in HTML and CSS of the design patterns in the repo Office-Add-in-UX-Design-Patterns
Stars: ✭ 78 (-22%)
Mutual labels:  design-patterns
Designpatterns
The 23 Gang of Four Design Patterns.
Stars: ✭ 93 (-7%)
Mutual labels:  design-patterns
Reobject
Python without ifs and buts - an ORM layer for Python objects, inspired by Django
Stars: ✭ 78 (-22%)
Mutual labels:  design-patterns
Awesome Django
Repository mirror of GitLab: https://gitlab.com/rosarior/awesome-django This repository is not monitored for issues, use original at GitLab.
Stars: ✭ 8,527 (+8427%)
Mutual labels:  web-application-framework
Ft Origami
The Old Origami Website, do not use
Stars: ✭ 80 (-20%)
Mutual labels:  design-patterns
1975
1975 - Modelando Domínios Ricos
Stars: ✭ 94 (-6%)
Mutual labels:  design-patterns
Symfony Ddd Edition
Symfony standard edition with DDD architecture.
Stars: ✭ 78 (-22%)
Mutual labels:  ddd-architecture
Calcite Components
Web Components for the Calcite Design System. Built with Stencil JS. Currently in Beta!
Stars: ✭ 96 (-4%)
Mutual labels:  design-patterns
Python Dependency Injector
Dependency injection framework for Python
Stars: ✭ 1,203 (+1103%)
Mutual labels:  design-patterns
Designpatterns
Project : Design Patterns Examples in C#
Stars: ✭ 1,337 (+1237%)
Mutual labels:  design-patterns
Paper Code
对一些好的技术文章结合自己的实践经验进行翻译、举例说明等或自己的经验分享。主要包括架构设计、模式设计、模型设计、重构等。
Stars: ✭ 94 (-6%)
Mutual labels:  design-patterns
Moderndesignpatterns
Design Patterns in Modern C++
Stars: ✭ 88 (-12%)
Mutual labels:  design-patterns
Sample Dotnet Core Cqrs Api
Sample .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
Stars: ✭ 1,273 (+1173%)
Mutual labels:  design-patterns

Build Status codecov License: MIT

AUCTION APPLICATION

The goal is to implement an automatic bidding system, described here: https://www.ebay.co.uk/pages/help/buy/bidding-overview.html

TODO for near future:

User stories:

  • As a seller I can list a new item for sale. The item has the following fields: text, description, starting price

  • As a seller, I'm allowed to list up to 3 items at the same time

  • As a user I can view all the items for sale. For each item I will see: text, description, current price, minimum bidding price, a winner, all participants, auction end date

  • As a bidder, when placing a bid, I enter the maximum amount I am willing to pay for the item. The seller and other bidders don't know my maximum bid

  • As a bidder, when placing a bid, my bid must be higher than the actual price

  • Auction Store will automatically calculate the current price of an item based on the bids that were made

  • When auction ends, auction store will notify the seller by email. The email will contain the name of the winner and the sell price.

  • When auction ends, all losing participants will recieve an email with the information that they lost an auction.

  • When auction ends, the winning participant will reciewve an email with information the user has won and the price for an item.

pipenv install
pipenv shell

To run tests

pytest

To run tests in watch mode

ptw

To run the app as Falcon server

FRAMEWORK=falcon gunicorn --reload main

To run the app as Flask server

FRAMEWORK=flask gunicorn --reload main

To run application Shell:

python shell.py

Within the shell you can execute and queries and commands, i.e.:

(InteractiveConsole)
>>> c = AddItemCommand({'title': 'Fluffy bunny'})
>>> command_bus.execute(c)
<CommandResult>(ok) {}

Project structure:

context-1
  domain
    entities
    value_objects
    aggregates
    services
    repositories
    factories?
    interfaces
    events
  application
    services
  infrastructure
    ??
  tests??

context-2

context-3

di_setup
main - main entrypoint to the app

Domain artifacts

  • entities - mutable, identifiable, unaware of persistance

  • value objects - immutable, self-contained

  • aggregates - any transaction should modify only one aggegate at a time, 70-80% usually contain olny one entity, consistency boundary, hosts methods which will modify the aggregate

  • events - significant state transition, something which domain experts care about

  • factories - for entity construction, ubiquotous language verbs, hide construction details (Python function)

  • repositories - store aggregates, abstraction over persistence mehanism

  • context maps - mappings between concepts between bounded contexts

Installing Python 3.7 from source on Ubuntu 18.04: https://gist.github.com/jerblack/798718c1910ccdd4ede92481229043be

References:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].