Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Commit 31bab18

Browse files
committed
Update README
1 parent b191a8c commit 31bab18

File tree

2 files changed

+54
-50
lines changed

2 files changed

+54
-50
lines changed

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ This repository serves as a submission for the HackOps 2025 DevOps competition,
44

55
This repository includes details on DevOps practices such as:
66

7-
- [A monorepo](#monorepo)
7+
- [Monorepo Structure](#monorepo)
88
- [CI/CD Pipeline](#cicd-pipeline-github-actions)
99
- [Testing Strategy](#testing-strategy)
1010
- [Containerization](#container-orchestration)
11+
- [Dependency Management](#dependency-management)
1112
- [Performance Optimizations](#performance-optimizations)
1213
- [Security Considerations](#security-considerations)
1314
- [Resource Management](#resource-management)
@@ -28,7 +29,7 @@ This repository implements a monorepo structure using pnpm workspaces, it lets u
2829
│ └─ shared/ # TypeScript types and interfaces
2930
├─ pnpm-workspace.yaml # PNPM workspace config
3031
├─ docker-compose.yml # Docker Compose config
31-
├─ Dockerfile # Docker build config
32+
├─ Dockerfile # Docker build config
3233
├─ pnpm-lock.yaml # PNPM lockfile
3334
└─ package.json # Root scripts and workspace config
3435
```
@@ -119,9 +120,9 @@ pnpm build # Build all workspaces
119120
pnpm test # Run Jest unit tests
120121
pnpm e2e # Run Playwright E2E tests
121122
pnpm typecheck # Type check all workspaces
122-
pnpm --filter server dev # Start server in watch mode
123-
pnpm --filter client dev # Start client in watch mode
124-
pnpm --filter server stress-test # Start stress testing script
123+
pnpm --filter server dev # Start server in watch mode
124+
pnpm --filter client dev # Start client in watch mode
125+
pnpm --filter server stress-test # Start stress testing script
125126
```
126127

127128
## Flow Diagram

devops-flow.mmd

Lines changed: 48 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,51 @@
1+
12
flowchart TD
2-
subgraph Development
3-
dev[Developer Codes] --> commit[Commit to GitHub]
4-
commit --> pr[Create Pull Request]
5-
end
3+
subgraph Development
4+
dev[Developer Codes] --> husky[Husky Pre-commit Checks]
5+
husky --> commit[Commit to GitHub]
6+
commit --> pr[Create Pull Request]
7+
end
68

7-
subgraph "CI/CD Pipeline"
8-
pr --> validate[GitHub Actions: Validate Job]
9-
validate --> tests[Run Tests]
10-
tests --> build[Build Application]
11-
12-
subgraph Testing
13-
tests --> lint[ESLint]
14-
tests --> typecheck[TypeScript Check]
15-
tests --> unittest[Jest Unit Tests]
16-
tests --> e2e[Playwright E2E Tests]
17-
end
18-
19-
build --> merge[Merge to Main]
20-
merge --> deploy[GitHub Actions: Deploy Job]
21-
end
22-
23-
subgraph Dockerization
24-
deploy --> docker_build[Build Docker Images]
25-
docker_build --> client_img[Client Image]
26-
docker_build --> server_img[Server Image]
27-
client_img --> push_registry[Push to GitHub Container Registry]
28-
server_img --> push_registry
29-
end
30-
31-
subgraph "VPS Deployment"
32-
push_registry --> ssh_vps[SSH into VPS]
33-
ssh_vps --> pull_images[Pull Latest Images]
34-
pull_images --> compose[Create docker-compose.yml]
35-
compose --> restart[Restart Containers]
36-
restart --> nginx[Configure Nginx]
37-
nginx --> ssl[Set Up SSL with Certbot]
9+
subgraph "CI/CD Pipeline"
10+
pr --> validate[GitHub Actions: Validate Job]
11+
validate --> tests[Run Tests]
12+
tests --> build[Build Application]
13+
14+
subgraph Testing
15+
tests --> lint[ESLint]
16+
tests --> typecheck[TypeScript Check]
17+
tests --> unittest[Jest Unit Tests]
18+
tests --> e2e[Playwright E2E Tests]
3819
end
39-
40-
classDef dev fill:#d4f1f9,stroke:#05a,stroke-width:2px
41-
classDef ci fill:#ffe6cc,stroke:#d79b00,stroke-width:2px
42-
classDef docker fill:#d5e8d4,stroke:#82b366,stroke-width:2px
43-
classDef vps fill:#e1d5e7,stroke:#9673a6,stroke-width:2px
44-
45-
class Development dev
46-
class "CI/CD Pipeline" ci
47-
class Dockerization docker
48-
class "VPS Deployment" vps
20+
21+
build --> merge[Merge to Main]
22+
merge --> deploy[GitHub Actions: Deploy Job]
23+
end
24+
25+
subgraph Dockerization
26+
deploy --> docker_build[Build Docker Images]
27+
docker_build --> client_img[Client Image]
28+
docker_build --> server_img[Server Image]
29+
client_img --> push_registry[Push to GitHub Container Registry]
30+
server_img --> push_registry
31+
end
32+
33+
subgraph "VPS Deployment"
34+
push_registry --> ssh_vps[SSH into VPS]
35+
ssh_vps --> pull_images[Pull Latest Images]
36+
pull_images --> compose[Create docker-compose.yml]
37+
compose --> restart[Restart Containers]
38+
restart --> nginx[Automatically Configure Nginx]
39+
nginx --> ssl[Set Up SSL with Certbot]
40+
ssl --> restart2[Restart Nginx]
41+
end
42+
43+
classDef dev fill:#d4f1f9,stroke:#05a,stroke-width:2px
44+
classDef ci fill:#ffe6cc,stroke:#d79b00,stroke-width:2px
45+
classDef docker fill:#d5e8d4,stroke:#82b366,stroke-width:2px
46+
classDef vps fill:#e1d5e7,stroke:#9673a6,stroke-width:2px
47+
48+
class Development dev
49+
class CI/CD_Pipeline ci
50+
class Dockerization docker
51+
class VPS_Deployment vps

0 commit comments

Comments
 (0)