Skip to content
/ Site Public

DDoSim is an interactive platform for simulating and visualizing Distributed Denial-of-Service (DDoS) attacks in real time across the globe.

License

Notifications You must be signed in to change notification settings

DDoSimLab/Site

Repository files navigation

DDoSim Site

The official website for DDoSim - an interactive platform for simulating and visualizing Distributed Denial-of-Service (DDoS) attacks in real time across the globe.

πŸš€ Overview

DDoSim Site is a modern, performant Next.js application that serves as the landing page and blog platform for the DDoSim project. It provides an engaging user experience with interactive visualizations, educational content, and seamless integration with the DDoSim simulator.

✨ Features

  • Interactive Landing Page - Beautiful hero section with 3D globe visualization
  • Feature Showcase - Highlight key capabilities of the DDoSim platform
  • Blog Platform - Comprehensive cybersecurity articles and DDoS attack guides
  • SEO Optimized - Built-in sitemap, robots.txt, and comprehensive metadata
  • Analytics Integration - Google Analytics 4 (GA4) support
  • Dark Mode - Full dark/light theme support
  • Responsive Design - Mobile-first approach with excellent cross-device compatibility
  • Performance Optimized - Next.js 16 with React 19 and React Compiler

πŸ› οΈ Tech Stack

  • Framework: Next.js 16.1.1 (App Router)
  • React: 19.2.3
  • TypeScript: 5.x
  • Styling: Tailwind CSS 4
  • UI Components: shadcn/ui with custom components
  • Icons: Phosphor Icons
  • 3D Visualization: Three.js, React Three Fiber, Three Globe
  • Animations: Motion (Framer Motion), Rough Notation
  • Content: React Markdown with Mermaid diagram support
  • Analytics: React GA4
  • Package Manager: pnpm

πŸ“¦ Prerequisites

  • Node.js 18+
  • pnpm (recommended) or npm/yarn

πŸƒ Getting Started

Installation

  1. Clone the repository:
git clone https://github.com/DDoSimLab/Site.git
cd Site
  1. Install dependencies:
pnpm install
  1. Run the development server:
pnpm dev
  1. Open http://localhost:3000 in your browser.

Build for Production

pnpm build
pnpm start

πŸ“ Project Structure

site/
β”œβ”€β”€ app/                    # Next.js app directory
β”‚   β”œβ”€β”€ blog/              # Blog pages and routes
β”‚   β”œβ”€β”€ layout.tsx         # Root layout with metadata
β”‚   β”œβ”€β”€ page.tsx           # Home page
β”‚   β”œβ”€β”€ sitemap.ts         # Dynamic sitemap generation
β”‚   └── robots.ts          # Robots.txt configuration
β”œβ”€β”€ components/            # React components
β”‚   β”œβ”€β”€ animate-ui/        # Animated UI components
β”‚   β”œβ”€β”€ blog/              # Blog-specific components
β”‚   β”œβ”€β”€ layout/            # Header, Footer
β”‚   β”œβ”€β”€ sections/          # Landing page sections
β”‚   └── ui/                # shadcn/ui components
β”œβ”€β”€ data/                  # Static data (blogs, globe config)
β”œβ”€β”€ hooks/                 # Custom React hooks
β”œβ”€β”€ lib/                   # Utilities and constants
β”‚   β”œβ”€β”€ constants.ts       # Application constants
β”‚   β”œβ”€β”€ ga.ts             # Google Analytics utilities
β”‚   └── utils.ts          # Helper functions
└── public/                # Static assets

🎨 Key Components

Sections

  • HeroSection - Main landing section with CTA
  • FeaturesSection - Platform feature highlights
  • AboutSection - Mission and vision
  • BlogsSection - Recent blog posts showcase

UI Components

  • Globe - Interactive 3D globe visualization
  • Highlighter - Text highlighting animations
  • BlogContent - Markdown blog post renderer with Mermaid support

πŸ”§ Configuration

Environment Variables

The application uses environment variables for configuration. Create a .env.local file if needed:

# Google Analytics (optional)
NEXT_PUBLIC_GA_ID=your-ga-id

Constants

Most configuration is centralized in lib/constants.ts, including:

  • Site URLs and metadata
  • Navigation routes
  • Text content
  • Globe visualization settings
  • Blog configuration

πŸ“ Blog System

The blog system supports:

  • Markdown content with frontmatter
  • Mermaid diagram rendering
  • Search functionality
  • Tag-based categorization
  • Reading time estimation
  • SEO-optimized blog posts

Blog posts are defined in data/blogs.ts and rendered dynamically.

πŸ§ͺ Development

Linting

pnpm lint

Commit Convention

This project uses Conventional Commits via Commitizen:

pnpm cz

🌐 Deployment

The site is optimized for deployment on platforms like Vercel, Netlify, or any Node.js hosting service.

Vercel

Deploy with Vercel

πŸ”— Related Links

πŸ“„ License

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

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

πŸ™ Acknowledgments


Made with ❀️ by Jaimin

About

DDoSim is an interactive platform for simulating and visualizing Distributed Denial-of-Service (DDoS) attacks in real time across the globe.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published