The Runestone Code¶
Getting the Code¶
Use the Github Runestone Code repository to obtain the latest source code.
If you are planning on developing, please make your own fork of the code to work in and submit Pull Requests from it. While developing, please keep your fork up to date with the Runestone repo to ensure your improvements are compatible with the latest version of the code.
Project File Structure¶
The code is organized into folders that correspond to concepts from the polylith software architecture. If you don’t know what a polylith is don’t let that deter you. It is just a fancy way of saying that we have a bunch of projects that share a lot of code.
The top level folders are:
projects - Deployable artifacts. Servers, command line tools, etc…
bases - The public-facing API for a project
components - Code that supports one or more projects/bases
development - Experimental and early work
docs - Source code for the documentation
tests - Automated tests for various projects
📁.
├── 📁bases
│ └── 📁rsptx
│ ├── 📁author_server_api
│ ├── 📁book_server_api
│ ├── 📁dash_server_api
│ ├── 📁rsmanage
│ └── 📁web2py_server
├── 📁components
│ └── 📁rsptx
│ ├── 📁auth
│ ├── 📁configuration
│ ├── 📁data_extract
│ ├── 📁db
│ ├── 📁forms
│ ├── 📁logging
│ ├── 📁lp_sim_builder
│ ├── 📁response_helpers
│ ├── 📁validation
│ └── 📁visualization
├── 📁development
│ └── core.py
├── docker-compose.yml
├── 📁docs
│ ├── 📁build
│ │ ├── 📁doctrees
│ │ └── 📁html
│ ├── 📁images
│ │ └── RunestoneArch.svg
│ ├── Makefile
│ └── 📁source
├── 📁projects
│ ├── 📁author_server
│ │ ├── 📁dist
│ │ ├── Dockerfile
│ │ ├── gitconfig
│ │ ├── pyproject.toml
│ │ └── README.md
│ ├── 📁book_server
│ │ ├── 📁dist
│ │ ├── Dockerfile
│ │ ├── pyproject.toml
│ │ └── README.md
│ ├── 📁dash_server
│ │ ├── 📁cache
│ │ ├── 📁dist
│ │ ├── Dockerfile
│ │ ├── pyproject.toml
│ │ └── README.md
│ ├── 📁jobe
│ ├── 📁nginx
│ │ ├── Dockerfile
│ ├── 📁rsmanage
│ │ ├── 📁dist
│ │ ├── poetry.lock
│ │ └── pyproject.toml
│ └── 📁w2p_login_assign_grade
│ ├── 📁dist
│ ├── Dockerfile
│ └── pyproject.toml
├── pyproject.toml
├── README.rst
├── 📁test
└── workspace.toml