REPOSITORY OVERVIEWLive repository statistics
★ 16Stars
⑂ 0Forks
◯ 1Open issues
◉ 16Watchers
25/100
OPENREPOHUB HEALTH SIGNALLimited signals
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
10 Community adoption25% weight
18 Maintenance state20% weight
65 License clarity10% weight
0 Project information10% weight
35 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
Example of the supporting application on Python
Inspired by Eric Evans and Vladik Khononov's books.
The purpose of this repository is to show the way of implementing supporting enterprise applications
in the Python programming language.
Feel free to contribute!
About the application structure
What is the supporting application?
A domain is consists of multiple subdomains. Each subdomain corresponds to a different part of the business.
According to Domain Driven Design there are 3 types of subdomains:
- Core subdomains - are one of the most important subdomains for business. That is what differentiates your product from products of competitors.
- Generic subdomains - are also important for business, but there are a lot of ready-for-use solutions. There is no need for optimization and every competitor does it in the same way. For example, authentication/authorization systems or message brokers.
- Supporting subdomains - are the subdomains which have no ready-for-use solutions and also have no complex logic. This type of subdomain doesn't give any competitive advantage to the business side.
Usually, to implement core applications, developers use complex patterns (such as Aggregate, CQRS, Event Sourcing and so on), but for supporting applications there is no need to do so. We can use much simpler patterns, such as Transaction Script for domain layer.
Run on local machine
-
Clone the project:
git clone https://github.com/akhundMurad/supporting-crud-python-example.git
-
Setup environment variables (example).
-
Install Poetry package manager:
curl -sSL https://install.python-poetry.org | python3 -
-
Setup poetry config:
poetry config virtualenvs.in-project true
-
Set environment in VSCode:
Click CTRL + SHIFT + P
And then select virtual environment:
-
Install dependencies:
poetry install
-
Apply migrations:
poetry run alembic upgrade head
-
Start the server:
uvicorn src.presentation.api.asgi:asgi
Links
ALGORITHMICALLY RELATEDSimilar Open-Source Projects
Selected from shared topics, language and repository description—not editorial ratings.
pyenv for Windows. pyenv is a simple python version management tool. It lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.
91/100 healthRecently updatedActive repositoryHas homepage
VBScriptMIT#pyenv#pyenv-alternative#pyenv-for-windows#pyenv-win
⑂ 589 forks◯ 170 issuesUpdated 1 day ago
Project homepage ↗General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.
88/100 healthRecently updatedActive repositoryHas homepage
C++Apache-2.0#cpp#deep-learning#deep-learning-gpu#gpgpu
⑂ 196 forks◯ 77 issuesUpdated today
Project homepage ↗