You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/12-FACTOR.md
+30-1Lines changed: 30 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
This project conforms to [12-factor methodology](https://12factor.net/). The 12-Factor methodology is a set of best practices for building modern, scalable, maintainable software-as-a-service apps. These principles were first presented by engineers at Heroku, a cloud platform as a service (PaaS) company. Following are the salient points of how this project adopts these best practices.
4
4
5
5
-1.**Codebase**: [✅] One codebase tracked in revision control, many deploys
6
-
-2.**Dependencies**: [✅] Explicitly declare and isolate dependencies. We're using a Python virtual environment along with a requirements.txt file to manage package versions. We also use Dependabot and MergeBot on GitHub Actions to periodically monitor and update package versions.
6
+
-2.**Dependencies**: [✅] Explicitly declare and isolate dependencies. We're using a Python virtual environment along with a requirements.txt file to manage package versions. We also use Dependabot and Mergify on GitHub Actions to periodically monitor and update package versions.
7
7
-3.**Config**: [✅] Store config in the environment. This project implements a special [.env](../.env) file, which locally stores all configuration information for the package.
8
8
-4.**Backing services**: [✅] Treat backing services as attached resources. We're using remote [OpenAI Api](https://openai.com/) and [MySql](https://www.mysql.com/)
9
9
-5.**Build, release, run**: [✅] Strictly separate build and run stages. 1-click `init`, `build`, `test`, `run`, `release` and `tear-down` are implemented in Makefile.
@@ -14,3 +14,32 @@ This project conforms to [12-factor methodology](https://12factor.net/). The 12-
14
14
-10.**Dev/prod parity**: [✅] Keep development, staging, and production as similar as possible. The repo for this project has `alpha`, `beta`, `next`, and `main` branches.
15
15
-11.**Logs**: [✅] Treat logs as event streams. We get this "for free" from Python logging.
16
16
-12.**Admin processes**: [✅] Run admin/management tasks as one-off processes. All admin processes are implemented with GitHub Actions and other GitHub management features.
17
+
18
+
Additionally, we leverage pre-commit to enforce code formatting, linting and to check all of the follow on each commit:
0 commit comments