Skip to content

TejasS1233/RouteCraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Interactive Network Simulation Platform

Build, configure, and simulate network topologies with an intuitive drag-and-drop interface. Master networking concepts through hands-on experience with our Cisco Packet Tracer-inspired web application.

RouteCraft Banner

โœจ Features

๐ŸŽฏ Interactive Network Design

  • Drag & Drop Interface - Intuitive device placement and connection creation
  • Professional Device Library - Routers, switches, PCs, servers, firewalls, and more
  • Visual Connection Management - Double-click to connect devices with animated feedback
  • Real-time Configuration - Live device settings and network parameter adjustments

โšก Live Network Simulation

  • Packet Flow Visualization - Watch data packets travel through your network in real-time
  • Network Statistics - Monitor traffic, errors, and performance metrics
  • Speed Control - Adjust simulation speed from 0.1x to 5x for detailed analysis
  • Connection Quality Indicators - Visual bandwidth and latency representations

๐Ÿ› ๏ธ Advanced Configuration

  • Device-Specific Settings - Configure IP addresses, routing tables, and MAC tables
  • Network Protocols - Support for various networking protocols and standards
  • Topology Management - Save and load network configurations
  • Test Scenarios - Built-in ping tests, broadcast simulations, and failure scenarios

๐ŸŽจ Modern User Experience

  • Responsive Design - Works seamlessly on desktop and tablet devices
  • Dark/Light Mode - Adaptive theme support for comfortable viewing
  • Smooth Animations - Professional transitions and interactive feedback
  • Accessibility - Built with accessibility best practices

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+ and npm/yarn
  • Modern web browser with ES6+ support

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/routecraft.git
    cd routecraft
  2. Install dependencies

    # Install client dependencies
    cd client
    npm install
    
    # Install server dependencies (if applicable)
    cd ../server
    npm install
  3. Start development server

    # Start client
    cd client
    npm run dev
    
    # Start server (if applicable)
    cd ../server
    npm run dev
  4. Open your browser Navigate to http://localhost:5173 to start using RouteCraft

๐ŸŽฎ How to Use

Getting Started

  1. Launch RouteCraft - Open the application in your browser
  2. Choose a Template - Start with a pre-built network or create from scratch
  3. Design Your Network - Drag devices from the library to the canvas
  4. Create Connections - Double-click a device, then click another to connect
  5. Configure Devices - Select devices to set IP addresses and network settings
  6. Run Simulation - Click "Start Simulation" to see your network in action

Demo Networks

  • Basic LAN - Perfect for beginners (Router + Switch + PCs)
  • Enterprise Network - Advanced setup with firewall and multiple subnets

๐Ÿ—๏ธ Architecture

Frontend (React + Vite)

  • React 18 with modern hooks and context
  • Tailwind CSS for responsive styling
  • Lucide React for consistent iconography
  • Custom Canvas Rendering for network visualization
  • GSAP for smooth animations

Key Components

  • NetworkCanvas - Main simulation canvas with drag-and-drop
  • DevicePanel - Device library and selection interface
  • ConfigPanel - Device configuration and settings
  • SimulationControls - Network testing and monitoring tools

State Management

  • Custom useNetworkSimulation hook for network state
  • React Context for global application state
  • Local storage for saving/loading topologies

๐Ÿ› ๏ธ Development

Project Structure

routecraft/
โ”œโ”€โ”€ client/                 # Frontend React application
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/     # Reusable UI components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ network/    # Network-specific components
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ui/         # General UI components
โ”‚   โ”‚   โ”œโ”€โ”€ hooks/          # Custom React hooks
โ”‚   โ”‚   โ”œโ”€โ”€ pages/          # Application pages
โ”‚   โ”‚   โ”œโ”€โ”€ lib/            # Utility functions
โ”‚   โ”‚   โ””โ”€โ”€ data/           # Sample data and configurations
โ”‚   โ””โ”€โ”€ public/             # Static assets
โ””โ”€โ”€ server/                 # Backend API (optional)

Available Scripts

# Development
npm run dev          # Start development server
npm run build        # Build for production
npm run preview      # Preview production build

# Code Quality
npm run lint         # Run ESLint
npm run format       # Format code with Prettier

๐ŸŽฏ Roadmap

Phase 1: Core Features โœ…

  • Basic network device library
  • Drag-and-drop interface
  • Device connections and configuration
  • Real-time packet simulation
  • Save/load functionality

Phase 2: Advanced Features ๐Ÿšง

  • Advanced routing protocols (OSPF, BGP)
  • VLAN configuration and management
  • Network security simulations
  • Performance analytics and reporting
  • Collaborative editing features

Phase 3: Enterprise Features ๐Ÿ“‹

  • Cloud integration and sharing
  • Educational curriculum integration
  • Advanced network troubleshooting tools
  • Custom device creation
  • API for external integrations

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run tests and linting
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Cisco Packet Tracer - Inspiration for network simulation interface
  • React Community - Amazing ecosystem and tools
  • Tailwind CSS - Beautiful, utility-first CSS framework
  • Lucide - Consistent and beautiful icon library

๐Ÿ“ž Support


Built with โค๏ธ for the networking community

RouteCraft - Where Networks Come to Life ๐Ÿš€

About

Craft, configure, and test intricate network topologies seamlessly in your browser.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors