Roadmap Data Format Guide

June 5, 2026 ยท View on GitHub

This document describes the JSON schema used for all roadmap data files in DevRoadmaps.

File Location

All roadmap files are located in the roadmaps/ directory. Each roadmap has its own JSON file (e.g., frontend.json, backend.json).

Schema

Root Object

{
  "title": "Roadmap Title",
  "description": "Brief description of the roadmap",
  "icon": "emoji",
  "categories": ["fundamentals", "intermediate", "advanced", "tools"],
  "nodes": [...]
}
FieldTypeRequiredDescription
titlestringYesDisplay name of the roadmap
descriptionstringYesShort description shown on the card
iconstringYesEmoji icon for the roadmap
categoriesstring[]YesOrdered list of category names
nodesNode[]YesArray of topic nodes

Node Object

{
  "id": "unique-kebab-case-id",
  "title": "Node Title",
  "icon": "emoji",
  "category": "fundamentals",
  "description": "What this topic covers",
  "difficulty": "Beginner",
  "resources": [...],
  "children": ["next-node-id"]
}
FieldTypeRequiredDescription
idstringYesUnique kebab-case identifier
titlestringYesDisplay name of the topic
iconstringYesEmoji icon
categorystringYesMust match one of the root categories
descriptionstringYesBrief explanation of the topic
difficultystringYes"Beginner", "Intermediate", or "Advanced"
resourcesResource[]YesArray of 2-4 free learning resources
childrenstring[]NoIDs of child/next nodes

Resource Object

{
  "title": "Resource Title",
  "url": "https://example.com",
  "type": "docs",
  "free": true
}
FieldTypeRequiredDescription
titlestringYesName of the resource
urlstringYesValid HTTPS URL
typestringYes"docs", "video", "course", or "tool"
freebooleanYesMust be true (paid resources not accepted)

Categories

CategoryColorDescription
fundamentalsPurpleCore concepts and basics
intermediateBlueIntermediate-level topics
advancedPinkAdvanced and specialized topics
toolsYellowTools, services, and platforms

Resource Types

TypeIconDescription
docs๐Ÿ“–Documentation or written guide
video๐ŸŽฅVideo tutorial
course๐ŸŽฏFull course
tool๐Ÿ”งTool or software

Adding a New Roadmap

  1. Create roadmaps/your-roadmap.json following the schema above
  2. Add an entry to roadmaps/index.json
  3. Update the roadmap table in README.md
  4. Test by opening index.html locally
  5. Submit a pull request

Validation

All roadmap JSON files are validated during CI. Ensure:

  • Valid JSON syntax
  • All required fields present
  • Unique node IDs (no duplicates)
  • Valid URLs for all resources
  • Categories match the root categories array