Skip to content

Commit 135ce2a

Browse files
committed
chore: update decsription
1 parent b88721a commit 135ce2a

1 file changed

Lines changed: 19 additions & 5 deletions

File tree

README.md

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
<img alt="Logo" src="https://github.com/prod-forge/backend/blob/main/assets/prod-forge-logo.png" width="264px" height="243px">
33
</p>
44

5-
Most tutorials teach you how to write an app. Almost none of them teach you how to **run it in production.**
5+
AI made writing backend code easy but running it in production is still hard.
66

7-
**Prod Forge** is an open-source guide that covers everything around the code - the part most projects skip:
8-
repository strategy, team workflows, CI/CD, observability, security, release management, and rollback.
7+
**Prod Forge** is an open-source reference that focuses on everything beyond the code:
8+
CI/CD, infrastructure, observability, deployment, migrations, and rollback.
99

10-
To make it concrete, we build a simple Todo List API and treat it **as if real users depend on it.**
10+
A simple Todo API, built as if it were a real production system.
1111

1212
---
1313

@@ -28,7 +28,7 @@ To make it concrete, we build a simple Todo List API and treat it **as if real u
2828
| -------------- | ---------------------------------------------- |
2929
| Backend | NestJS · Prisma · PostgreSQL · Redis · Docker |
3030
| Infrastructure | AWS · ECR · ECS · RDS · ElasticCache |
31-
| Observability | Prometheus · Grafana · Loki |
31+
| Observability | Prometheus · Grafana · Loki · Promtail |
3232
| Quality | ESLint · Prettier · Husky · Commitlint · CI/CD |
3333

3434
# Table of contents
@@ -38,6 +38,7 @@ To make it concrete, we build a simple Todo List API and treat it **as if real u
3838
- [A Real-World Problem With Monorepos](https://github.com/prod-forge/backend/blob/main/docs/repository-strategy.md#a-real-world-problem-with-monorepos)
3939
- [Why Repository Boundaries Matter](https://github.com/prod-forge/backend/blob/main/docs/repository-strategy.md#why-repository-boundaries-matter)
4040
- [Conclusion](https://github.com/prod-forge/backend/blob/main/docs/repository-strategy.md#conclusion)
41+
4142
- [2. Architecture Decisions](https://github.com/prod-forge/backend/blob/main/docs/architecture-decisions.md)
4243
- [Client Constraints](https://github.com/prod-forge/backend/blob/main/docs/architecture-decisions.md#client-constraints)
4344
- [Understanding The Product](https://github.com/prod-forge/backend/blob/main/docs/architecture-decisions.md#understanding-the-product)
@@ -46,6 +47,7 @@ To make it concrete, we build a simple Todo List API and treat it **as if real u
4647
- [2. Community Ecosystem](https://github.com/prod-forge/backend/blob/main/docs/architecture-decisions.md#2-community-ecosystem)
4748
- [3. Opinionated Structure](https://github.com/prod-forge/backend/blob/main/docs/architecture-decisions.md#3-opinionated-structure)
4849
- [4. Stability Over Hype](https://github.com/prod-forge/backend/blob/main/docs/architecture-decisions.md#4-stability-over-hype)
50+
4951
- [3. Development Workflow](https://github.com/prod-forge/backend/blob/main/docs/development-workflow.md)
5052
- [Task Management](https://github.com/prod-forge/backend/blob/main/docs/development-workflow.md#task-management)
5153
- [Git Flow](https://github.com/prod-forge/backend/blob/main/docs/development-workflow.md#git-flow)
@@ -56,12 +58,14 @@ To make it concrete, we build a simple Todo List API and treat it **as if real u
5658
- [Code Review](https://github.com/prod-forge/backend/blob/main/docs/development-workflow.md#code-review)
5759
- [Squash Merge Strategy](https://github.com/prod-forge/backend/blob/main/docs/development-workflow.md#squash-merge-strategy)
5860
- [Squash Merge Workflow](https://github.com/prod-forge/backend/blob/main/docs/development-workflow.md#squash-merge-workflow)
61+
5962
- [4. Code Quality](https://github.com/prod-forge/backend/blob/main/docs/code-quality.md)
6063
- [Layer 1. Code Formatting And Consistency](https://github.com/prod-forge/backend/blob/main/docs/code-quality.md#layer-1-code-formatting-and-consistency)
6164
- [Layer 2. Static Analysis With ESLint](https://github.com/prod-forge/backend/blob/main/docs/code-quality.md#layer-2-static-analysis-with-eslint)
6265
- [Layer 3. Pre-commit Protection](https://github.com/prod-forge/backend/blob/main/docs/code-quality.md#layer-3-pre-commit-protection)
6366
- [Layer 4. Commitlint Configuration](https://github.com/prod-forge/backend/blob/main/docs/code-quality.md#layer-4-commitlint-configuration)
6467
- [Layer 5. Continuous Integration Checks](https://github.com/prod-forge/backend/blob/main/docs/code-quality.md#layer-5-continuous-integration-checks)
68+
6569
- [5. Documentation](https://github.com/prod-forge/backend/blob/main/docs/documentation.md)
6670
- [Recommended Documentation Structure](https://github.com/prod-forge/backend/blob/main/docs/documentation.md#recommended-documentation-structure)
6771
- [README.md](https://github.com/prod-forge/backend/blob/main/docs/documentation.md#readmemd)
@@ -71,30 +75,35 @@ To make it concrete, we build a simple Todo List API and treat it **as if real u
7175
- [Incident Log](https://github.com/prod-forge/backend/blob/main/docs/documentation.md#incident-log)
7276
- [Feature Change Log](https://github.com/prod-forge/backend/blob/main/docs/documentation.md#feature-change-log)
7377
- [Roadmap](https://github.com/prod-forge/backend/blob/main/docs/documentation.md#roadmap)
78+
7479
- [6. Configuration Management](https://github.com/prod-forge/backend/blob/main/docs/configuration-management.md)
7580
- [Environment Configuration Strategy](https://github.com/prod-forge/backend/blob/main/docs/configuration-management.md#environment-configuration-strategy)
7681
- [Secret Management](https://github.com/prod-forge/backend/blob/main/docs/configuration-management.md#secret-management)
7782
- [NestJS Configuration Setup](https://github.com/prod-forge/backend/blob/main/docs/configuration-management.md#nestjs-configuration-setup)
7883
- [Structured Configuration Modules](https://github.com/prod-forge/backend/blob/main/docs/configuration-management.md#structured-configuration-modules)
7984
- [Accessing Configuration](https://github.com/prod-forge/backend/blob/main/docs/configuration-management.md#accessing-configuration)
8085
- [Why This Approach Works Well](https://github.com/prod-forge/backend/blob/main/docs/configuration-management.md#why-this-approach-works-well)
86+
8187
- [7. Database Management](https://github.com/prod-forge/backend/blob/main/docs/database-management.md)
8288
- [Database Scripts](https://github.com/prod-forge/backend/blob/main/docs/database-management.md#database-scripts)
8389
- [Database Manager in Docker](https://github.com/prod-forge/backend/blob/main/docs/database-management.md#database-manager-in-docker)
8490
- [Why Not a Separate Database Service?](https://github.com/prod-forge/backend/blob/main/docs/database-management.md#why-not-a-separate-database-service)
8591
- [Working with Migrations](https://github.com/prod-forge/backend/blob/main/docs/database-management.md#working-with-migrations)
8692
- [Running Migrations in CI/CD](https://github.com/prod-forge/backend/blob/main/docs/database-management.md#running-migrations-in-cicd)
93+
8794
- [8. Project Structure](https://github.com/prod-forge/backend/blob/main/docs/project-structure.md)
8895
- [API Layer](https://github.com/prod-forge/backend/blob/main/docs/project-structure.md#api-layer)
8996
- [Thin Controllers](https://github.com/prod-forge/backend/blob/main/docs/project-structure.md#thin-controllers)
9097
- [Data Validation and Sanitization](https://github.com/prod-forge/backend/blob/main/docs/project-structure.md#data-validation-and-sanitization)
9198
- [Unified API Responses](https://github.com/prod-forge/backend/blob/main/docs/project-structure.md#unified-api-responses)
99+
92100
- [9. Fault Tolerance](https://github.com/prod-forge/backend/blob/main/docs/fault-tolerance.md)
93101
- [Non-Critical Dependency](https://github.com/prod-forge/backend/blob/main/docs/fault-tolerance.md#non-critical-dependency)
94102
- [Fallback Strategies](https://github.com/prod-forge/backend/blob/main/docs/fault-tolerance.md#fallback-strategies)
95103
- [Caching Strategy](https://github.com/prod-forge/backend/blob/main/docs/fault-tolerance.md#caching-strategy)
96104
- [Throttling Strategy](https://github.com/prod-forge/backend/blob/main/docs/fault-tolerance.md#throttling-strategy)
97105
- [Graceful Degradation](https://github.com/prod-forge/backend/blob/main/docs/fault-tolerance.md#graceful-degradation)
106+
98107
- [10. Error Handling](https://github.com/prod-forge/backend/blob/main/docs/error-handling.md)
99108
- [Types of Errors](https://github.com/prod-forge/backend/blob/main/docs/error-handling.md#types-of-errors)
100109
- [Business Logic Errors](https://github.com/prod-forge/backend/blob/main/docs/error-handling.md#business-logic-errors)
@@ -107,6 +116,7 @@ To make it concrete, we build a simple Todo List API and treat it **as if real u
107116
- [Correlation ID](https://github.com/prod-forge/backend/blob/main/docs/error-handling.md#correlation-id)
108117
- [User Context](https://github.com/prod-forge/backend/blob/main/docs/error-handling.md#user-context)
109118
- [Logging and Metrics](https://github.com/prod-forge/backend/blob/main/docs/error-handling.md#logging-and-metrics)
119+
110120
- [11. Logging & Observability](https://github.com/prod-forge/backend/blob/main/docs/logging-observability.md)
111121
- [Application Logging](https://github.com/prod-forge/backend/blob/main/docs/logging-observability.md#application-logging)
112122
- [What Should Be Logged](https://github.com/prod-forge/backend/blob/main/docs/logging-observability.md#what-should-be-logged)
@@ -118,25 +128,29 @@ To make it concrete, we build a simple Todo List API and treat it **as if real u
118128
- [Dashboards](https://github.com/prod-forge/backend/blob/main/docs/logging-observability.md#dashboards)
119129
- [Metrics with Prometheus](https://github.com/prod-forge/backend/blob/main/docs/logging-observability.md#metrics-with-prometheus)
120130
- [Why Observability Matters](https://github.com/prod-forge/backend/blob/main/docs/logging-observability.md#why-observability-matters)
131+
121132
- [12. Testing](https://github.com/prod-forge/backend/blob/main/docs/testing.md)
122133
- [Unit Tests](https://github.com/prod-forge/backend/blob/main/docs/testing.md#unit-tests)
123134
- [Mocking Dependencies](https://github.com/prod-forge/backend/blob/main/docs/testing.md#mocking-dependencies)
124135
- [End-to-End Tests (E2E)](https://github.com/prod-forge/backend/blob/main/docs/testing.md#end-to-end-tests-e2e)
125136
- [Test Environment Setup](https://github.com/prod-forge/backend/blob/main/docs/testing.md#test-environment-setup)
126137
- [Writing Effective E2E Tests](https://github.com/prod-forge/backend/blob/main/docs/testing.md#writing-effective-e2e-tests)
127138
- [Test Specs Design Style](https://github.com/prod-forge/backend/blob/main/docs/testing.md#test-specs-design-style)
139+
128140
- [13. Performance](https://github.com/prod-forge/backend/blob/main/docs/performance.md)
129141
- [Avoid Returning Unnecessary Data](https://github.com/prod-forge/backend/blob/main/docs/performance.md#avoid-returning-unnecessary-data)
130142
- [Use Pagination for Collections](https://github.com/prod-forge/backend/blob/main/docs/performance.md#use-pagination-for-collections)
131143
- [Use Database Indexes (When Needed)](https://github.com/prod-forge/backend/blob/main/docs/performance.md#use-database-indexes-when-needed)
132144
- [Response Compression](https://github.com/prod-forge/backend/blob/main/docs/performance.md#response-compression)
145+
133146
- [14. Security](https://github.com/prod-forge/backend/blob/main/docs/security.md)
134147
- [Request Validation](https://github.com/prod-forge/backend/blob/main/docs/security.md#request-validation)
135148
- [Response Data Sanitization](https://github.com/prod-forge/backend/blob/main/docs/security.md#response-data-sanitization)
136149
- [Security Headers](https://github.com/prod-forge/backend/blob/main/docs/security.md#security-headers)
137150
- [CORS Configuration](https://github.com/prod-forge/backend/blob/main/docs/security.md#cors-configuration)
138151
- [Rate Limiting](https://github.com/prod-forge/backend/blob/main/docs/security.md#rate-limiting)
139152
- [File Upload Security](https://github.com/prod-forge/backend/blob/main/docs/security.md#file-upload-security)
153+
140154
- [15. Release Management](https://github.com/prod-forge/backend/blob/main/docs/release-management.md)
141155
- [Release Strategy](https://github.com/prod-forge/backend/blob/main/docs/release-management.md#release-strategy)
142156
- [Creating a Release](https://github.com/prod-forge/backend/blob/main/docs/release-management.md#creating-a-release)

0 commit comments

Comments
 (0)