Roadmap to becoming a developer in 2022
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.5 KiB

import roadmaps from '../content/roadmaps.json';
export type RoadmapType = {
seo: {
title: string;
description: string;
keywords: string[];
};
title: string;
description: string;
featuredTitle: string;
featuredDescription: string;
author: {
name: string;
url: string;
};
type: 'role' | 'tool';
featured: boolean;
imageUrl?: string;
jsonUrl?: string;
isNew?: boolean;
landingPath?: string;
resourcesPath: string;
contentPathsFilePath?: string;
metaPath: string;
isCommunity: boolean;
isUpcoming: boolean;
id: string;
3 years ago
pdfUrl?: string;
relatedRoadmaps?: string[];
};
export function getRoadmapById(id: string): RoadmapType | undefined {
return (roadmaps as RoadmapType[]).find((roadmap) => roadmap.id === id);
}
export function getAllRoadmaps(): RoadmapType[] {
return roadmaps as RoadmapType[];
}
export function filterRoadmapsByIds(ids: string[]): RoadmapType[] {
return (roadmaps as RoadmapType[]).filter(roadmap => ids.includes(roadmap.id));
}
export function getFeaturedRoadmaps(): RoadmapType[] {
const roadmaps: RoadmapType[] = getAllRoadmaps();
return roadmaps.filter((roadmap) => roadmap.featured);
}
export function isInteractiveRoadmap(id: string): boolean {
return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java', 'blockchain', 'golang', 'javascript', 'nodejs', 'qa', 'design-system', 'angular', 'software-architect', 'software-design-architecture', 'aspnet-core'].includes(id);
}