Skip to content

Commit 9d14f03

Browse files
committed
docs: Includes instructions & inspirations
1 parent afa67d6 commit 9d14f03

File tree

1 file changed

+47
-2
lines changed

1 file changed

+47
-2
lines changed

README.md

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,54 @@ This is intendend as both to serve as a scaffold for our internal projects as to
2222
- Aggregate's atomic services consistency guaranteed using `postgres` locks.
2323
- Isolated and pure domain layer that has no dependencies (no, not even ORM).
2424

25+
## Roadmap
26+
27+
This is project's in its early stages, and should receive a big WIP tag. We should track progress using GitHub features:
28+
29+
1. [https://github.com/t10d/kingdom-python-server/discussions](Discussions) for brainstorming & prioritizing
30+
1. [https://github.com/t10d/kingdom-python-server/milestones](Milestones) for planned features
31+
1. [https://github.com/t10d/kingdom-python-server/issues/](Issues) for ongoing tasks
32+
33+
## Instructions
34+
35+
As it is disclaimed the project current status, running *for now* means making sure tests pass.
36+
We are shortly improving the entire installation experience and usage. Hold tight.
37+
38+
### Step 1: Dependencies & environment
39+
40+
This projects uses `poetry` to manage dependencies.
41+
Having said that, how you instantiate your virtual environment is up to you. You can do that now.
42+
43+
Inside your blank python virtual environment:
44+
45+
```shell
46+
pip install poetry & poetry install
47+
```
48+
49+
### Step 2: Prepare your database
50+
51+
As there aren't any containerization being done for now, you'd need `postgres` up and running in your local machine.
52+
53+
```shell
54+
psql -c "create database template"
55+
```
56+
57+
### Step 3: Test it
58+
59+
Right now you should be able to run the entire test-suite properly.
60+
61+
```shell
62+
make test
63+
```
64+
2565

2666
## Why?
2767

2868
Why not use django? Or flask? Or FastAPI? Because these are great but heavily opiniated frameworks. We have a need to implement and deliver maintainable software we really know what's happening under the hood.
2969
As a software house, we've come to find that by using such frameworks tends to inhibit programmers from practicing and improving their design skills.
3070

71+
We're (obviously) not alone here. [https://github.com/pcah/python-clean-architecture](`pca`) have touched base a few years ago.
72+
3173
## Philosophy
3274

3375
We are committed to these non-negotiables principle:
@@ -39,10 +81,13 @@ We are committed to these non-negotiables principle:
3981

4082
## Inspiration
4183

42-
We don't claim to have created everything from scratch. Quite the opposite, all of these are inspirations from elsewhere.
84+
We don't claim to have created everything from scratch. Quite the opposite, the work here is a direct fork
85+
from ideas we really identify with that were hard earned throughout the past two decades.
4386

4487
Specifically:
4588

4689
1. Architecture Patterns with Python from Bob Gregory & Harry Percival,
90+
1. Python Clean Architecture, from [https://github.com/pcah](`pcah`)
4791
1. Functional Core, Imperative Shell from Destroy All Software,
48-
1. Hexagonal Architecture aka Ports & Adapters
92+
1. Hexagonal Architecture aka Ports & Adapters by Alistair Cockburn
93+
1. Domain-Driven-Design by Eric Evans & Martin Fowler

0 commit comments

Comments
 (0)