Skip to content

Commit f9c37e3

Browse files
author
Matthew Valancy
authored
Merge pull request #6 from GraphDone/development
Catching Main up to Development
2 parents d776888 + 32eaf95 commit f9c37e3

89 files changed

Lines changed: 15194 additions & 3262 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ jobs:
105105
run: npm run build
106106

107107
- name: Upload build artifacts
108-
uses: actions/upload-artifact@v3
108+
uses: actions/upload-artifact@v4
109109
with:
110110
name: build-artifacts
111111
path: |
@@ -160,7 +160,7 @@ jobs:
160160
run: npm ci
161161

162162
- name: Run npm audit
163-
run: npm audit --audit-level=moderate
163+
run: npm audit --audit-level=high
164164

165165
- name: Run Snyk security scan
166166
uses: snyk/actions/node@master

.gitignore

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ node_modules/
77
coverage/
88
*.lcov
99
.nyc_output
10+
test-results/
11+
test-artifacts/
12+
playwright-report/
13+
*.png
14+
*.jpg
15+
*.jpeg
16+
*.gif
17+
*.webp
1018

1119
# Production
1220
build/
@@ -56,4 +64,11 @@ logs/
5664

5765
# Cache
5866
.cache/
59-
.parcel-cache/
67+
.parcel-cache/
68+
69+
# TypeScript
70+
*.tsbuildinfo
71+
tsconfig.tsbuildinfo
72+
73+
# Prisma
74+
prisma/dev.db

CLAUDE.md

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
44

55
## Project Overview
66

7-
GraphDone is a graph-native project management system that reimagines work coordination through dependencies and democratic prioritization rather than hierarchical assignments. The project is in active development (v0.1.0-alpha) with core architecture implemented and working foundation.
7+
GraphDone is a graph-native project management system that reimagines work coordination through dependencies and democratic prioritization rather than hierarchical assignments. The project is in active development (v0.2.1-alpha) with core architecture implemented and working foundation.
88

99
## Core Philosophy
1010

@@ -17,12 +17,13 @@ GraphDone is a graph-native project management system that reimagines work coord
1717

1818
### Technology Stack
1919
- **Frontend**: React 18 with TypeScript, React Native for mobile, D3.js for graph visualization
20-
- **Backend**: Node.js with TypeScript, GraphQL with Apollo Server, PostgreSQL with graph extensions
20+
- **Backend**: Node.js with TypeScript, GraphQL with Apollo Server, Neo4j with @neo4j/graphql
2121
- **State Management**: Zustand
2222
- **Styling**: Tailwind CSS
2323
- **Build Tool**: Vite
2424
- **Real-time**: WebSocket subscriptions
2525
- **Infrastructure**: Docker, Kubernetes, GitHub Actions for CI/CD
26+
- **Testing**: Playwright for E2E testing, Vitest for unit tests
2627

2728
### Project Structure (Implemented)
2829
```
@@ -61,8 +62,7 @@ npm run typecheck # Type check all packages
6162
npm run build # Build all packages
6263

6364
# Database operations
64-
npm run db:migrate # Run Prisma migrations
65-
npm run db:seed # Seed database with test data
65+
npm run db:seed # Seed Neo4j database with test data
6666

6767
# Docker development
6868
docker-compose -f deployment/docker-compose.dev.yml up # With hot reload
@@ -132,32 +132,34 @@ npm run typecheck # Type check all packages
132132
**Completed:**
133133
- Monorepo structure with Turbo for build orchestration
134134
- Core graph engine with Node, Edge, Priority calculation, and full graph operations
135-
- GraphQL API server with comprehensive schema and resolvers
136-
- React web application with D3.js graph visualization
135+
- Neo4j integration with @neo4j/graphql auto-generated resolvers
136+
- GraphQL API server with comprehensive schema and WebSocket subscriptions
137+
- React web application with D3.js graph visualization and user-friendly error handling
137138
- TypeScript configuration across all packages
138-
- Vitest testing infrastructure with sample tests
139-
- Docker development and production configurations
140-
- Development scripts for setup, running, testing, building, and deployment
139+
- Playwright and Vitest testing infrastructure with E2E tests
140+
- Docker development and production configurations with Neo4j 5.15-community
141+
- Enhanced development scripts with automatic dependency management
141142
- GitHub Actions CI/CD workflows for testing, building, and deployment
142-
- Comprehensive documentation structure
143+
- Comprehensive documentation structure and branding (favicon, logos)
143144

144145
🏗️ **Architecture Implemented:**
145146
- `packages/core/` - Graph engine with priority calculation, node/edge management, path finding, cycle detection
146-
- `packages/server/` - GraphQL API with Prisma database schema, Apollo Server, WebSocket subscriptions
147-
- `packages/web/` - React app with Vite, Tailwind CSS, D3.js visualization, GraphQL client
148-
- Docker configurations for development and production
147+
- `packages/server/` - GraphQL API with Neo4j schema, Apollo Server with @neo4j/graphql, WebSocket subscriptions
148+
- `packages/web/` - React app with Vite, Tailwind CSS, D3.js visualization, Apollo Client, enhanced error handling
149+
- Docker configurations for development and production with Neo4j 5.15-community
149150
- Kubernetes-ready manifests (planned in deployment docs)
150151
- Full CI/CD pipeline with testing, security scanning, and deployment
152+
- Production deployment verified and tested
151153

152154
🎯 **Ready for Development:**
153155
All foundation pieces are in place. To continue development:
154-
1. Run `./tools/setup.sh` to initialize the development environment
155-
2. Use `./tools/run.sh` to start development servers
156-
3. Access the working application at http://localhost:3000
157-
4. Use GraphQL Playground at http://localhost:4000/graphql
156+
1. Run `./start` to initialize the development environment automatically
157+
2. Access the working application at http://localhost:3127
158+
3. Use GraphQL Playground at http://localhost:4127/graphql
159+
4. Backend status at http://localhost:3127/backend shows Neo4j architecture
158160
5. Begin implementing specific features using the established patterns
159-
6. Add more comprehensive tests using the Vitest setup
160-
7. Enhance the GraphQL schema and resolvers as needed
161+
6. Add more comprehensive tests using the Playwright and Vitest setup
162+
7. Enhance the Neo4j schema and GraphQL resolvers as needed
161163

162164
## Core Architecture
163165

@@ -179,17 +181,17 @@ Key files:
179181
### GraphQL API (`packages/server/`)
180182
Apollo Server with real-time subscriptions:
181183

182-
- **Database**: PostgreSQL with Prisma ORM
183-
- **Schema**: Comprehensive GraphQL schema matching core types
184-
- **Resolvers**: CRUD operations for nodes, edges, contributors
184+
- **Database**: Neo4j 5.15-community with APOC plugins
185+
- **Schema**: Auto-generated GraphQL schema with @neo4j/graphql
186+
- **Resolvers**: Automatically generated from Neo4j schema
185187
- **Subscriptions**: Real-time WebSocket updates
186188
- **Health Check**: `/health` endpoint for monitoring
187189

188190
Key files:
189191
- `packages/server/src/index.ts` - Apollo Server setup with WebSocket support
190-
- `packages/server/src/schema/index.ts` - GraphQL type definitions
191-
- `packages/server/src/resolvers/` - GraphQL resolvers
192-
- `packages/server/prisma/schema.prisma` - Database schema
192+
- `packages/server/src/schema/neo4j-schema.ts` - Neo4j GraphQL schema definitions
193+
- `packages/server/src/scripts/seed.ts` - Database seeding script
194+
- `packages/server/src/context.ts` - GraphQL context with Neo4j driver
193195

194196
### Web Application (`packages/web/`)
195197
React app with D3.js visualization:
@@ -229,17 +231,16 @@ Current test files:
229231

230232
## Database Schema
231233

232-
PostgreSQL with these main tables:
233-
- **Node**: Graph nodes with spherical coordinates and priorities
234-
- **Edge**: Connections between nodes with types and weights
234+
Neo4j with these main node types and relationships:
235+
- **WorkItem**: Graph nodes with spherical coordinates and priorities
236+
- **Edge**: Connections between nodes with types (DEPENDS_ON, BLOCKS, etc.)
235237
- **Contributor**: Users and AI agents in the system
236-
- **NodeContributor**: Many-to-many relationship
238+
- **WORKS_ON**: Relationships between contributors and work items
237239

238240
Key database operations:
239241
```bash
240-
npm run db:migrate # Apply schema changes
241-
npm run db:seed # Add test data
242-
npm run db:studio # Open Prisma Studio GUI
242+
npm run db:seed # Add test data with 32 work items and relationships
243+
# Access Neo4j Browser at http://localhost:7474 (neo4j/graphdone_password)
243244
```
244245

245246
## Package-Specific Commands
@@ -260,9 +261,8 @@ cd packages/server
260261
npm run dev # Start with hot reload (tsx)
261262
npm run build # Build TypeScript
262263
npm run start # Start production server
263-
npm run db:migrate # Run Prisma migrations
264-
npm run db:seed # Seed test data
265-
npm run db:studio # Open Prisma Studio
264+
npm run db:seed # Seed Neo4j database with test data
265+
# Neo4j Browser available at http://localhost:7474
266266
```
267267

268268
### Web Package (`packages/web/`)

0 commit comments

Comments
 (0)