A beautiful, interactive roadmap component built with React, TypeScript, and Tailwind CSS. Features smooth scrolling animations, timeline navigation, and responsive design.
- 🎯 Interactive timeline navigation
- 📱 Fully responsive design
- ✨ Smooth scroll animations
- 🎨 Customizable themes
- 📅 Automatic current period highlighting
- 🔄 Progress status indicators
- 🖱️ Click-to-navigate timeline
- Node.js 16.x or higher
- npm 7.x or higher
- Clone the repository:
git clone https://github.com/aytch4k/roadmap.git
cd roadmap- Install dependencies:
npm install- Start the development server:
npm run devEdit src/components/RoadmapTimeline/roadmapData.tsx to update the roadmap items:
export const roadmapData = [
{
title: 'Your Milestone',
date: 'Q1 2024', // Format: 'Q[1-4] YYYY'
description: 'Description of your milestone',
icon: <YourIcon className="w-6 h-6" />,
status: 'not-started' | 'in-progress' | 'completed'
},
// Add more items...
];- Update the gradient colors in
src/App.tsx:
<div className="min-h-screen bg-gradient-to-b from-[#yourColor] to-[#yourColor]">- Modify card styling in
src/components/RoadmapTimeline/RoadmapCard.tsx:
<div className="bg-[#yourColor]/10 backdrop-blur-lg ...">Customize the timeline in src/components/RoadmapTimeline/HorizontalTimeline.tsx:
// Timeline line
<div className="h-0.5 bg-[#yourColor]/30 ..." />
// Timeline nodes
<button className="... bg-[#yourColor]" />Adjust spacing and layout in src/components/RoadmapTimeline/RoadmapTimeline.tsx:
// Modify top padding
<div className="relative pt-[yourValue]">
// Adjust card container padding
<div className="pb-[yourValue] px-[yourValue]">src/components/RoadmapTimeline/
├── RoadmapTimeline.tsx # Main component
├── Header.tsx # Title and description
├── HorizontalTimeline.tsx # Interactive timeline
├── RoadmapCard.tsx # Individual milestone cards
└── roadmapData.tsx # Roadmap content
To use this component in your project:
- Copy the
RoadmapTimelinedirectory to your components folder - Import required dependencies:
import { RoadmapTimeline } from './components/RoadmapTimeline/RoadmapTimeline';- Use the component:
function App() {
return (
<div className="min-h-screen bg-gradient-to-b from-gray-900 to-purple-900">
<RoadmapTimeline />
</div>
);
}- React 18.x
- TypeScript 5.x
- Tailwind CSS 3.x
- Lucide React (for icons)
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.