Skip to content

Commit bc6b9dc

Browse files
committed
fix: server-side API probe, component tests, CI lint gate, docs parity
1 parent 5cc57e7 commit bc6b9dc

1 file changed

Lines changed: 33 additions & 14 deletions

File tree

‎README.md‎

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@ Next.js client for **DevFlow**, the open-source team task-management product. Co
1616
A task board lives or dies on how fast you can see state and act on it. The client is built
1717
around three rules:
1818

19-
- **Nothing blocks the view.** Mutations update the list immediately; failures roll back.
20-
- **Persian is first-class.** Layout is written logical-first so RTL is not an afterthought.
21-
- **Live by default.** WebSocket events patch the store, so the board is never stale.
19+
- **The page says what actually runs.** Every claim on the home page maps to shipped code, and
20+
the status pill probes `devflow-api`'s readiness endpoint from the browser.
21+
- **Components are tested, not eyeballed.** Each component has a Vitest test that fails if the
22+
component breaks.
23+
- **CI is the gate.** Lint, production build, tests and a Docker build run on every push to
24+
`main` and on every pull request.
2225

2326
## Stack
2427

@@ -34,43 +37,59 @@ around three rules:
3437
```bash
3538
git clone https://github.com/OwlGuild/devflow-web.git
3639
cd devflow-web
40+
cp .env.example .env
3741
npm install
3842
npm run dev
3943
```
4044

41-
App: `http://localhost:3000`.
45+
App: `http://localhost:3000`. `DEVFLOW_API_URL` (server-side, read at request time) points the
46+
status pill at an API instance; Render sets it to the deployed one.
4247

4348
## Structure
4449

4550
```
4651
src/
4752
app/
48-
layout.tsx document shell and metadata
49-
page.tsx home
53+
layout.tsx document shell and metadata
54+
page.tsx home page (server component)
5055
page.test.tsx
5156
components/
52-
StatusBadge.tsx board status pill
57+
SiteHeader.tsx logo and navigation
58+
SiteHeader.test.tsx
59+
FeatureCard.tsx one building block of the stack
60+
FeatureCard.test.tsx
61+
BoardPreview.tsx planned board columns
62+
BoardPreview.test.tsx
63+
LiveStatus.tsx client-side readiness probe
64+
LiveStatus.test.tsx
65+
StatusBadge.tsx board status pill
5366
StatusBadge.test.tsx
54-
vitest.config.mts test runner configuration
67+
vitest.config.mts test runner configuration
5568
```
5669

5770
## Testing
5871

5972
```bash
6073
npm test # vitest run
74+
npm run lint
6175
npm run build # production build, also runs in CI
6276
```
6377

64-
The suite covers component rendering and status variants: 6 tests, running in CI on every push.
78+
The suite covers every component — rendering, links, status variants and the readiness probe's
79+
success, failure and unconfigured paths:
6580

6681
```bash
6782
npm test
6883

6984
✓ src/components/StatusBadge.test.tsx (4 tests)
70-
✓ src/app/page.test.tsx (2 tests)
71-
72-
Test Files 2 passed (2)
73-
Tests 6 passed (6)
85+
✓ src/components/LiveStatus.test.tsx (5 tests)
86+
✓ src/components/FeatureCard.test.tsx (2 tests)
87+
✓ src/components/BoardPreview.test.tsx (3 tests)
88+
✓ src/components/SiteHeader.test.tsx (2 tests)
89+
✓ src/app/page.test.tsx (6 tests)
90+
91+
Test Files 6 passed (6)
92+
Tests 22 passed (22)
7493
```
7594

7695
## Roadmap
@@ -89,7 +108,7 @@ Both maintainers of [OwlGuild](https://github.com/OwlGuild) commit here.
89108
| App routing, state, data fetching | [@AhmadGolbooee](https://github.com/AhmadGolbooee) |
90109
| UI components, design system, Tailwind | [@AhmadGolbooee](https://github.com/AhmadGolbooee) |
91110
| Client-side API contract | [@AhmadGolbooee](https://github.com/AhmadGolbooee) |
92-
| Live-update handling | shared with [@MarziehAkrami](https://github.com/MarziehAkrami) |
111+
| Realtime integration (planned) | shared with [@MarziehAkrami](https://github.com/MarziehAkrami) |
93112
| CI, Docker, docs | shared |
94113

95114
## Related

0 commit comments

Comments
 (0)