|
|
@ -37,21 +37,19 @@ const groups: GroupType[] = [ |
|
|
|
title: 'Frontend Beginner', |
|
|
|
title: 'Frontend Beginner', |
|
|
|
link: '/frontend?r=frontend-beginner', |
|
|
|
link: '/frontend?r=frontend-beginner', |
|
|
|
type: 'role', |
|
|
|
type: 'role', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
title: 'Backend Beginner', |
|
|
|
title: 'Backend Beginner', |
|
|
|
link: '/backend?r=backend-beginner', |
|
|
|
link: '/backend?r=backend-beginner', |
|
|
|
type: 'role', |
|
|
|
type: 'role', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
title: 'DevOps Beginner', |
|
|
|
title: 'DevOps Beginner', |
|
|
|
link: '/devops?r=devops-beginner', |
|
|
|
link: '/devops?r=devops-beginner', |
|
|
|
type: 'role', |
|
|
|
type: 'role', |
|
|
|
}, |
|
|
|
otherGroups: ['Web Development'], |
|
|
|
{ |
|
|
|
|
|
|
|
title: 'Full-Stack Developer', |
|
|
|
|
|
|
|
link: '/full-stack', |
|
|
|
|
|
|
|
type: 'role', |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
], |
|
|
|
], |
|
|
|
}, |
|
|
|
}, |
|
|
@ -70,16 +68,11 @@ const groups: GroupType[] = [ |
|
|
|
type: 'role', |
|
|
|
type: 'role', |
|
|
|
otherGroups: ['Web Development'], |
|
|
|
otherGroups: ['Web Development'], |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
|
|
|
|
title: 'DevOps', |
|
|
|
|
|
|
|
link: '/devops', |
|
|
|
|
|
|
|
type: 'role', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
{ |
|
|
|
title: 'Full Stack', |
|
|
|
title: 'Full Stack', |
|
|
|
link: '/full-stack', |
|
|
|
link: '/full-stack', |
|
|
|
type: 'role', |
|
|
|
type: 'role', |
|
|
|
otherGroups: ['Web Development'], |
|
|
|
otherGroups: ['Web Development', 'Absolute Beginners'], |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
title: 'QA', |
|
|
|
title: 'QA', |
|
|
@ -129,35 +122,6 @@ const groups: GroupType[] = [ |
|
|
|
}, |
|
|
|
}, |
|
|
|
], |
|
|
|
], |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
|
|
|
|
group: 'DevOps', |
|
|
|
|
|
|
|
roadmaps: [ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
title: 'DevOps', |
|
|
|
|
|
|
|
link: '/devops', |
|
|
|
|
|
|
|
type: 'role', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
title: 'Docker', |
|
|
|
|
|
|
|
link: '/docker', |
|
|
|
|
|
|
|
type: 'skill', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
title: 'Kubernetes', |
|
|
|
|
|
|
|
link: '/kubernetes', |
|
|
|
|
|
|
|
type: 'skill', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
title: 'AWS', |
|
|
|
|
|
|
|
link: '/aws', |
|
|
|
|
|
|
|
type: 'skill', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
{ |
|
|
|
group: 'Languages / Platforms', |
|
|
|
group: 'Languages / Platforms', |
|
|
|
roadmaps: [ |
|
|
|
roadmaps: [ |
|
|
@ -216,6 +180,35 @@ const groups: GroupType[] = [ |
|
|
|
}, |
|
|
|
}, |
|
|
|
], |
|
|
|
], |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
group: 'DevOps', |
|
|
|
|
|
|
|
roadmaps: [ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
title: 'DevOps', |
|
|
|
|
|
|
|
link: '/devops', |
|
|
|
|
|
|
|
type: 'role', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
title: 'Docker', |
|
|
|
|
|
|
|
link: '/docker', |
|
|
|
|
|
|
|
type: 'skill', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
title: 'Kubernetes', |
|
|
|
|
|
|
|
link: '/kubernetes', |
|
|
|
|
|
|
|
type: 'skill', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
title: 'AWS', |
|
|
|
|
|
|
|
link: '/aws', |
|
|
|
|
|
|
|
type: 'skill', |
|
|
|
|
|
|
|
otherGroups: ['Web Development'], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
group: 'Mobile Development', |
|
|
|
group: 'Mobile Development', |
|
|
|
roadmaps: [ |
|
|
|
roadmaps: [ |
|
|
@ -439,6 +432,7 @@ export function RoadmapsPage() { |
|
|
|
</button> |
|
|
|
</button> |
|
|
|
{groups.map((group) => ( |
|
|
|
{groups.map((group) => ( |
|
|
|
<button |
|
|
|
<button |
|
|
|
|
|
|
|
key={group.group} |
|
|
|
className={cn( |
|
|
|
className={cn( |
|
|
|
'border-b bg-gradient-to-l py-1.5 pr-3 text-right text-sm text-gray-500 hover:from-white hover:text-gray-900', |
|
|
|
'border-b bg-gradient-to-l py-1.5 pr-3 text-right text-sm text-gray-500 hover:from-white hover:text-gray-900', |
|
|
|
{ |
|
|
|
{ |
|
|
@ -457,7 +451,7 @@ export function RoadmapsPage() { |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div className="flex flex-grow flex-col gap-6 pb-20 pt-8"> |
|
|
|
<div className="flex flex-grow flex-col gap-6 pb-20 pt-8"> |
|
|
|
{visibleGroups.map((group) => ( |
|
|
|
{visibleGroups.map((group) => ( |
|
|
|
<div> |
|
|
|
<div key={`${group.group}-${group.roadmaps.length}`}> |
|
|
|
<h2 className="mb-2 text-xs uppercase tracking-wide text-gray-400"> |
|
|
|
<h2 className="mb-2 text-xs uppercase tracking-wide text-gray-400"> |
|
|
|
{group.group} |
|
|
|
{group.group} |
|
|
|
</h2> |
|
|
|
</h2> |
|
|
@ -465,6 +459,7 @@ export function RoadmapsPage() { |
|
|
|
<div className="grid grid-cols-3 gap-1.5"> |
|
|
|
<div className="grid grid-cols-3 gap-1.5"> |
|
|
|
{group.roadmaps.map((roadmap) => ( |
|
|
|
{group.roadmaps.map((roadmap) => ( |
|
|
|
<a |
|
|
|
<a |
|
|
|
|
|
|
|
key={roadmap.link} |
|
|
|
className="rounded-md border bg-white px-3 py-2 text-left text-sm shadow-sm transition-all hover:border-gray-300 hover:bg-gray-50" |
|
|
|
className="rounded-md border bg-white px-3 py-2 text-left text-sm shadow-sm transition-all hover:border-gray-300 hover:bg-gray-50" |
|
|
|
href={roadmap.link} |
|
|
|
href={roadmap.link} |
|
|
|
> |
|
|
|
> |
|
|
|