Skip to content

Commit 8a96096

Browse files
hemanandrclaude
andcommitted
docs: update documentation for Issue #11 completion
- Mark Issue #11 as complete in DEVELOPMENT_PLAN.md - Add configuration API endpoints to README.md - Update docs/README.md with version management endpoints - Update feature descriptions to include config version tracking 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 88e2dc0 commit 8a96096

File tree

3 files changed

+161
-2
lines changed

3 files changed

+161
-2
lines changed

DEVELOPMENT_PLAN.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ You can effectively work on **up to 6 parallel worktrees** without conflicts:
8282
| Issue | Priority | Time | Description | Worktree | Status |
8383
|-------|----------|------|-------------|----------|---------|
8484
| #10 | P1 | 1-2d | EF Core entities, PulseDbContext, migrations | 2 |**COMPLETE** - PR #56 |
85-
| #11 | P1 | 4-6h | Config version snapshot storage | 2 | 🔓 **UNLOCKED** |
85+
| #11 | P1 | 4-6h | Config version snapshot storage | 2 | **COMPLETE** - Commit 88e2dc0 |
8686
| #12 | P2 | 3-4h | Settings table, watermarks | 2 | 🔓 **UNLOCKED** |
8787

8888
### PHASE 3: Monitoring Engine (Week 2, Days 1-3)
@@ -210,7 +210,7 @@ git worktree remove ../pulse-env-setup
210210

211211
- **Phase 0**: ✅ **COMPLETE** - Dev can run `dotnet build` successfully
212212
- **Phase 1**: All specs frozen, no more contract changes
213-
- **Phase 2**: ✅ **COMPLETE** - Database created, migrations run, can insert test data
213+
- **Phase 2**: ✅ **COMPLETE** - Database created, migrations run, config storage implemented
214214
- **Phase 3**: Can detect UP/DOWN state changes
215215
- **Phase 4**: All API endpoints return data (mock or real)
216216
- **Phase 5**: Rollups computed automatically

README.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# ThingConnect Pulse
2+
3+
Network availability monitoring system for manufacturing sites.
4+
5+
## Quick Start
6+
7+
### Prerequisites
8+
- .NET 8 SDK
9+
- Node.js 18+
10+
11+
### Development Setup
12+
13+
```bash
14+
# Clone repository
15+
git clone https://github.com/MachDatum/ThingConnect.Pulse.git
16+
cd ThingConnect.Pulse
17+
18+
# Backend setup
19+
dotnet restore
20+
dotnet build
21+
22+
# Frontend setup
23+
cd thingconnect.pulse.client
24+
npm install
25+
cd ..
26+
27+
# Run application
28+
cd ThingConnect.Pulse.Server
29+
dotnet run
30+
# Backend: http://localhost:8080
31+
# Frontend: http://localhost:8080 (proxied)
32+
```
33+
34+
## Project Structure
35+
36+
- **[ThingConnect.Pulse.Server/](./ThingConnect.Pulse.Server/)** - ASP.NET Core backend API
37+
- **[thingconnect.pulse.client/](./thingconnect.pulse.client/)** - React frontend application
38+
- **[docs/](./docs/)** - Technical specifications and API documentation
39+
- **[ops/](./ops/)** - Development and deployment operations
40+
- **[installer/](./installer/)** - Windows service installer scripts
41+
- **[brand/](./brand/)** - Branding assets and design resources
42+
43+
## Documentation
44+
45+
- **[Product Overview](./ONE_PAGER.MD)** - Complete project specification
46+
- **[Development Plan](./DEVELOPMENT_PLAN.md)** - Implementation roadmap and parallel work streams
47+
- **[API Documentation](./docs/openapi.yaml)** - REST API specification
48+
- **[Configuration Schema](./docs/config.schema.json)** - YAML configuration format
49+
- **[Data Model](./docs/data-model.cs)** - Entity Framework Core entities
50+
- **[Rollup Algorithms](./docs/rollup-spec.md)** - Data aggregation specifications
51+
52+
## API Endpoints
53+
54+
The server provides REST API endpoints for configuration management:
55+
56+
```bash
57+
# Apply YAML configuration
58+
POST /api/config/apply
59+
Content-Type: text/plain
60+
[YAML configuration content]
61+
62+
# List all configuration versions
63+
GET /api/config/versions
64+
65+
# Download specific configuration version
66+
GET /api/config/versions/{id}
67+
```
68+
69+
## Development
70+
71+
- **[Backend Setup](./ops/dev-backend.md)** - Zero-to-first-run backend development
72+
- **[General Commands](./ops/dev.md)** - Code formatting, testing, and build commands
73+
74+
## Issues & Project Management
75+
76+
- **[GitHub Issues](https://github.com/MachDatum/ThingConnect.Pulse/issues)** - Active development tracking
77+
- **[Project Board](https://github.com/MachDatum/ThingConnect.Pulse/projects)** - Sprint planning and progress
78+
79+
### Issue Labels
80+
- `priority:P1` - Critical path items
81+
- `priority:P2` - Important features
82+
- `priority:P3` - Nice to have
83+
- `area:*` - Component areas (api, ui, infra, etc.)
84+
- `type:*` - Issue types (feature, bug, ops, docs)
85+
86+
## Technology Stack
87+
88+
- **Backend**: ASP.NET Core 8.0, Entity Framework Core, SQLite
89+
- **Frontend**: React 19, TypeScript, Vite, Chakra UI
90+
- **Monitoring**: ICMP, TCP, HTTP probes with flap damping
91+
- **Data**: 15-minute and daily rollups, 60-day retention
92+
- **Deployment**: Windows Service with Inno Setup installer
93+
94+
## Features
95+
96+
### v1.0 Scope
97+
- **Network Monitoring**: ICMP ping, TCP connect, HTTP status checks
98+
- **Configuration**: YAML-based with JSON Schema validation and version tracking
99+
- **Data Storage**: SQLite with automatic rollups and retention
100+
- **Web Interface**: Real-time status dashboard and historical views
101+
- **Configuration Management**: Apply, list, and download configuration versions
102+
- **Alerting**: Status change detection with flap damping
103+
- **Deployment**: Single Windows service installer
104+
105+
### Monitoring Capabilities
106+
- **Device Discovery**: CIDR range and wildcard expansion
107+
- **Probe Types**: ICMP, TCP port checks, HTTP/HTTPS requests
108+
- **Status Logic**: 2 failures → DOWN, 2 successes → UP
109+
- **Data Retention**: Raw data (60 days), rollups (indefinite)
110+
- **Performance**: 100 concurrent probes, 5s timeout, 2 retries
111+
112+
## Getting Help
113+
114+
- Check **[Issues](https://github.com/MachDatum/ThingConnect.Pulse/issues)** for known problems
115+
- Review **[ops/dev-backend.md](./ops/dev-backend.md)** for troubleshooting
116+
- See **[CLAUDE.md](./CLAUDE.md)** for AI development context
117+
118+
## License
119+
120+
Copyright © ThingConnect

docs/README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Documentation
2+
3+
Technical specifications and API documentation for ThingConnect Pulse.
4+
5+
## Contents
6+
7+
- **[openapi.yaml](./openapi.yaml)** - Complete REST API specification (frozen)
8+
- **[config.schema.json](./config.schema.json)** - YAML configuration JSON Schema
9+
- **[data-model.cs](./data-model.cs)** - Entity Framework Core entity definitions
10+
- **[rollup-spec.md](./rollup-spec.md)** - Data aggregation algorithm specifications
11+
12+
## API Documentation
13+
14+
The OpenAPI specification defines all REST endpoints:
15+
- `GET /api/status/live` - Current status of all monitored endpoints
16+
- `GET /api/endpoints/{id}` - Detailed endpoint information
17+
- `GET /api/history/endpoint/{id}` - Historical status data
18+
- `POST /api/config/apply` - Apply new monitoring configuration
19+
- `GET /api/config/versions` - List all configuration versions
20+
- `GET /api/config/versions/{id}` - Download specific configuration version
21+
22+
## Configuration Format
23+
24+
The system uses YAML configuration files with JSON Schema validation:
25+
- Target endpoint definitions (host, CIDR, wildcard)
26+
- Monitoring group organization
27+
- Probe type defaults (ICMP, TCP, HTTP)
28+
- Timing and retry settings
29+
30+
## Data Model
31+
32+
Entity Framework Core entities define the database structure:
33+
- Groups, Endpoints, CheckResults (raw and aggregated)
34+
- Configuration versioning with SHA-256 hash-based duplicate detection
35+
- Rollup tables for performance optimization
36+
37+
## Implementation Status
38+
39+
All specifications are **frozen** for v1 development. Changes require architectural review.

0 commit comments

Comments
 (0)