You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
-128Lines changed: 0 additions & 128 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,6 @@
2
2
3
3
A TypeScript GraphQL API server for freeCodeCamp curriculum metadata, built as a pnpm monorepo with Turbo. Provides structured access to curriculum data including superblocks, blocks, challenges, and certifications.
4
4
5
-
## Features
6
-
7
-
-**GraphQL API**: Modern, type-safe GraphQL schema for curriculum data
8
-
-**Metadata-Only**: Efficient in-memory storage of curriculum structure (<50MB)
9
-
-**Monorepo Architecture**: pnpm workspaces with Turbo orchestration
10
-
-**Type Safety**: Strict TypeScript with zero `any` types
11
-
-**Future-Ready**: Designed for seamless database integration
12
-
-**Health Monitoring**: Built-in health checks and metrics
13
-
14
5
## Quick Start
15
6
16
7
```bash
@@ -20,122 +11,3 @@ pnpm install
20
11
# Start development server (hot reload)
21
12
pnpm develop
22
13
```
23
-
24
-
## Development
25
-
26
-
### Prerequisites
27
-
28
-
- Node.js 18+ (uses ESM)
29
-
- pnpm 8+
30
-
31
-
### Available Commands
32
-
33
-
#### Root Commands (Monorepo)
34
-
```bash
35
-
# Install dependencies
36
-
pnpm install
37
-
38
-
# Development server (hot reload)
39
-
pnpm develop
40
-
41
-
# Build all packages
42
-
pnpm build
43
-
44
-
# Type checking
45
-
pnpm type-check
46
-
47
-
# Linting
48
-
pnpm lint
49
-
50
-
# Code formatting
51
-
pnpm format
52
-
53
-
# Check formatting
54
-
pnpm format:check
55
-
56
-
# Generate GraphQL types
57
-
pnpm codegen
58
-
59
-
# Watch mode for GraphQL codegen
60
-
pnpm codegen:watch
61
-
62
-
# Run tests
63
-
pnpm test
64
-
65
-
# Run tests in watch mode
66
-
pnpm test:watch
67
-
68
-
# Run tests with UI
69
-
pnpm test:ui
70
-
71
-
# Performance testing
72
-
pnpm test:perf
73
-
74
-
# Run tests with coverage
75
-
pnpm test:coverage
76
-
```
77
-
78
-
### Project Structure
79
-
80
-
```
81
-
curriculum-db/
82
-
├── data/ # Curriculum data (copied from main repo)
83
-
│ └── structure/
84
-
│ ├── curriculum.json
85
-
│ ├── superblocks/ # 37 superblock JSON files
86
-
│ └── blocks/ # 737 block JSON files
87
-
├── packages/
88
-
│ └── server/ # GraphQL API server
89
-
│ ├── src/
90
-
│ │ ├── data/ # Data loading and types
91
-
│ │ ├── schema/ # GraphQL schema and resolvers
92
-
│ │ └── utils/ # Utilities and helpers
93
-
│ └── package.json
94
-
├── docs/ # Documentation
95
-
├── CLAUDE.md # AI development guide
96
-
└── tsconfig.base.json # Shared TypeScript config
97
-
```
98
-
99
-
### GraphQL Playground
100
-
101
-
Once running, visit the GraphQL playground at:
102
-
-**Local**: http://localhost:4000/graphql
103
-
-**Health Check**: http://localhost:4000/health
104
-
105
-
### Data Scale
106
-
107
-
-**37 superblocks** across learning paths
108
-
-**737 blocks** containing modules
109
-
-**32+ certifications** for completion
110
-
-**~36,000 challenges** total (metadata only in MVP)
111
-
112
-
## Architecture
113
-
114
-
### Design Principles
115
-
116
-
-**Metadata vs Content**: Separates curriculum structure (always in-memory) from challenge content (future database)
117
-
-**Data Provider Abstraction**: Clean interface allowing different storage backends
118
-
-**Type Safety**: Three-layer type system (Raw JSON → Normalized Internal → Generated GraphQL)
119
-
-**Memory Efficient**: <50MB memory usage for full curriculum metadata
120
-
121
-
### Tech Stack
122
-
123
-
-**GraphQL Yoga**: Modern GraphQL server
124
-
-**TypeScript**: Strict type safety with all flags enabled
125
-
-**Turbo**: Monorepo task orchestration
126
-
-**pnpm**: Efficient package management
127
-
-**ESLint + Prettier**: Code quality and formatting
0 commit comments