Skip to content

Commit 96a4e8c

Browse files
committed
convert the README to rst
1 parent 02b8494 commit 96a4e8c

File tree

2 files changed

+74
-1
lines changed

2 files changed

+74
-1
lines changed

.flake8

+19-1
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,22 @@ exclude =
2121
_build/
2222
alembic/
2323
.tox/
24-
.venv/
24+
.venv/
25+
26+
27+
# for web2py legacy code
28+
29+
builtins=settings,
30+
request,
31+
response,
32+
db,
33+
auth,
34+
redirect,
35+
XML,
36+
URL,
37+
T,
38+
HTTP,
39+
cache,
40+
gluon,
41+
verifyInstructorStatus
42+

README.rst

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
Runestone MonoRepo
2+
==================
3+
4+
This repository collects together the various repositories related to
5+
the Runestone Academy software. The idea of combining several
6+
repositories into a single structure was motivated and inspired by the
7+
Python polylith tools and projects.
8+
9+
As Runestone has grown over the years we have accreted a loads of new
10+
functionality without ever stopping to reconsider an architecture that
11+
would support easier implementation of new features while providing
12+
stability for fundamental parts of the project that need to scale.
13+
Docker was not invented at the time Runestone development started!
14+
15+
The goal of this re-working of the Runestone code will provide us with a
16+
very docker friendly set of servers and services. we will use a polylith
17+
software architecture to develop and maintain this set of services. The
18+
following diagram shows what we are aiming at.
19+
20+
.. image:: ../images/RunestoneArch.svg
21+
22+
Each of the servers in the diagram above will become a project in this
23+
repo.
24+
25+
- Each project is runnable from the top level
26+
- Each project builds its own docker image
27+
- The entire suite of services is orchestrated by the
28+
``docker-compose.yml`` file
29+
30+
Understanding the Code Structure
31+
--------------------------------
32+
33+
- projects - define the artifacts - Docker images or applications could
34+
be a web application or a command line application or whatever.
35+
36+
- bases - contains the public facing API for a project
37+
38+
- components - contains code that supports one or more projects/bases
39+
40+
- development - experimental and early work.
41+
42+
A Roadmap
43+
---------
44+
45+
Docs
46+
----
47+
48+
This setup uses poetry and two important plugins, the multi-project
49+
plugin and the polylith plugin.
50+
51+
The official Polylith documentation: `high-level
52+
documentation <https://polylith.gitbook.io/polylith>`__
53+
54+
A Python implementation of the Polylith tool:
55+
`python-polylith <https://github.com/DavidVujic/python-polylith>`__

0 commit comments

Comments
 (0)