Roadmap Data Format Guide
This document describes the JSON schema used for all roadmap data files in DevRoadmaps.
All roadmap files are located in the roadmaps/ directory. Each roadmap has its own JSON file (e.g., frontend.json, backend.json).
{
"title" : " Roadmap Title" ,
"description" : " Brief description of the roadmap" ,
"icon" : " emoji" ,
"categories" : [" fundamentals" , " intermediate" , " advanced" , " tools" ],
"nodes" : [... ]
}
Field
Type
Required
Description
title
string
Yes
Display name of the roadmap
description
string
Yes
Short description shown on the card
icon
string
Yes
Emoji icon for the roadmap
categories
string[]
Yes
Ordered list of category names
nodes
Node[]
Yes
Array of topic nodes
{
"id" : " unique-kebab-case-id" ,
"title" : " Node Title" ,
"icon" : " emoji" ,
"category" : " fundamentals" ,
"description" : " What this topic covers" ,
"difficulty" : " Beginner" ,
"resources" : [... ],
"children" : [" next-node-id" ]
}
Field
Type
Required
Description
id
string
Yes
Unique kebab-case identifier
title
string
Yes
Display name of the topic
icon
string
Yes
Emoji icon
category
string
Yes
Must match one of the root categories
description
string
Yes
Brief explanation of the topic
difficulty
string
Yes
"Beginner", "Intermediate", or "Advanced"
resources
Resource[]
Yes
Array of 2-4 free learning resources
children
string[]
No
IDs of child/next nodes
{
"title" : " Resource Title" ,
"url" : " https://example.com" ,
"type" : " docs" ,
"free" : true
}
Field
Type
Required
Description
title
string
Yes
Name of the resource
url
string
Yes
Valid HTTPS URL
type
string
Yes
"docs", "video", "course", or "tool"
free
boolean
Yes
Must be true (paid resources not accepted)
Category
Color
Description
fundamentals
Purple
Core concepts and basics
intermediate
Blue
Intermediate-level topics
advanced
Pink
Advanced and specialized topics
tools
Yellow
Tools, services, and platforms
Type
Icon
Description
docs
📖
Documentation or written guide
video
🎥
Video tutorial
course
🎯
Full course
tool
🔧
Tool or software
Create roadmaps/your-roadmap.json following the schema above
Add an entry to roadmaps/index.json
Update the roadmap table in README.md
Test by opening index.html locally
Submit a pull request
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