Skip to content

feb027/rosetta-hub

Repository files navigation

🎨🧩 Rosetta Code Hub

Interactive Programming Visualizations - Where Code Meets Art

Rosetta Code Hub is an ambitious portfolio project transforming classic programming problems from Rosetta Code into stunning, interactive visualizations. Learn algorithms, data structures, and computational thinking through immersive visual demonstrations.

🚧 Project Status: Actively in development | Progress: 100 visualizations completed πŸŽ‰ | Goal: 1000+ problems from Rosetta Code

Documentation β€’ Roadmap β€’ Featured Visualizations


✨ Fitur Utama

🎯 Interactive Visual Learning

  • 100 Programming Problems visualized! πŸŽ‰
  • Each visualization is unique and hand-crafted with care
  • Real-time animations showcasing algorithm execution step-by-step
  • Beautiful UI with smooth transitions and micro-interactions
  • Touch-friendly controls for mobile learning

🎨 Premium Design System

  • Dark Mode with vibrant neon accents and glassmorphism
  • Carefully curated color palette using advanced CSS techniques
  • Responsive layouts (mobile-first, 320px - 2560px+)
  • Custom animations with Motion (Framer Motion successor)

🧩 Diverse Problem Categories

  • Mathematical Puzzles: 9 Billion Names of God, Achilles Numbers, Almkvist-Giullera Formula, Bernstein Basis Polynomials
  • Game Simulations: 15 Puzzle, 21 Game, 24 Game, 100 Prisoners Problem
  • Cellular Automata: Abelian Sandpile Model with neon toppling effects
  • String Processing: Anagrams, Anadromes, Abbreviations, Best Shuffle
  • Algorithm Visualization: Binary Search, ABC Correlation, Aliquot Sequences, Bifid Cipher
  • Cryptography: Bifid Cipher with Spy/Secret Agent theme, ADFGVX Cipher

πŸš€ Performance-First Architecture

  • Code Splitting with lazy-loaded routes and components
  • Lightning-fast development with Vite
  • Type-safe codebase with TypeScript
  • Optimized for 60fps animations

πŸ“± Accessible & User-Friendly

  • Keyboard navigation support
  • WCAG-compliant color contrast
  • Touch targets minimum 44x44px
  • Intuitive filtering and tagging system

πŸ—οΈ Arsitektur Sistem

graph TB
    subgraph "Client Layer"
        A[React 19 SPA]
        B[Interactive Visualizations]
        C[Motion Animations]
    end
    
    subgraph "Routing & State"
        D[React Router DOM]
        E[Component State Management]
    end
    
    subgraph "Build & Development"
        F[Vite Build Tool]
        G[TypeScript Compiler]
    end
    
    subgraph "Styling System"
        H[Tailwind CSS v4]
        I[CSS Variables]
        J[Glassmorphism UI]
    end
    
    A --> D
    A --> B
    B --> C
    D --> E
    F --> G
    A --> H
    H --> I
    I --> J
Loading

πŸš€ Quick Start

Prerequisites

  • Bun v1.0+ (recommended) or Node.js 20+
  • Modern browser with ES2020+ support

Installation

# Clone the repository
git clone https://github.com/feb027/rosetta-hub.git
cd rosetta-hub

# Install dependencies
bun install

# Run development server
bun run dev

# Build for production
bun run build

# Preview production build
bun run preview

The app will be available at http://localhost:5173


πŸ“¦ Tech Stack

Frontend

Build Tools

Development

  • Bun - Ultra-fast JavaScript runtime & package manager (optional)
  • Hot Module Replacement (HMR) for instant feedback
  • Source maps for debugging

πŸ“– Dokumentasi

Project Structure

rosetta-hub/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ visualizations/  # Problem-specific visualizations
β”‚   β”‚   β”œβ”€β”€ FloatingNav.tsx  # Navigation bar
β”‚   β”‚   β”œβ”€β”€ Footer.tsx       # Footer component
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ pages/               # Route pages
β”‚   β”‚   β”œβ”€β”€ HomePage.tsx     # Problem gallery
β”‚   β”‚   β”œβ”€β”€ ProblemDetailPage.tsx
β”‚   β”‚   β”œβ”€β”€ AboutPage.tsx
β”‚   β”‚   └── ChangelogPage.tsx
β”‚   β”œβ”€β”€ problems/            # Problem metadata & solutions
β”‚   β”‚   β”œβ”€β”€ 100-doors/
β”‚   β”‚   β”œβ”€β”€ abelian-sandpile/
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ constants/           # App configuration
β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   β”œβ”€β”€ types/              # TypeScript definitions
β”‚   └── utils/              # Helper functions
β”œβ”€β”€ public/                 # Static assets
└── index.html             # Entry HTML

Adding New Problems

Want to add a new visualization? Check out our guide:

πŸ“ Adding Tags Guide
πŸ“ Rosetta Code Integration


🎨 Design Philosophy

Visual Excellence

Every visualization is designed to be educational AND beautiful:

  • Neon & Glassmorphism: Modern aesthetics with depth and glow effects
  • Micro-animations: Smooth transitions that guide attention
  • Color Psychology: Strategic use of color to convey meaning
  • White Space: Breathing room for visual clarity

User Experience

  • Progressive Disclosure: Show complexity gradually
  • Immediate Feedback: Visual responses to every interaction
  • Discoverability: Clear affordances and intuitive controls
  • Consistency: Unified design language across all problems

πŸ—ΊοΈ Roadmap

🎯 The Ambitious Goal

This is an ongoing portfolio project with a bold vision:

  • πŸ“Š Current Progress: 50+ visualizations completed
  • 🎯 Milestone 1: Reach 100 visualizations β†’ Deploy live demo
  • πŸš€ Ultimate Goal: Visualize all 1000+ problems from Rosetta Code
  • πŸ’ͺ Commitment: Continuous development even after reaching 100 problems

"Transform code into art, one visualization at a time."


🀝 Contributing

Contributions are welcome! Whether it's:

  • πŸ› Bug reports
  • πŸ’‘ Feature suggestions
  • 🎨 New visualizations
  • πŸ“ Documentation improvements
  • 🌍 Translations

Commit Convention

We follow Conventional Commits:

feat: add binary tree traversal visualization
fix: correct animation timing in sandpile
docs: update installation instructions
style: improve glassmorphism effects
refactor: extract color utilities
perf: optimize large grid rendering

Code Style

  • TypeScript: Strict mode enabled
  • React: Functional components with hooks
  • Formatting: 2-space indentation
  • Naming: camelCase for functions, PascalCase for components
  • Linting: ESLint with React rules

πŸ› Troubleshooting

Issue: Animations are laggy

Solution: Enable hardware acceleration in your browser settings, or toggle performance mode (coming in v1.1).

Issue: Build fails with TypeScript errors

# Clear cache and reinstall
rm -rf node_modules bun.lockb dist
bun install
bun run build

Issue: Vite dev server won't start

Solution: Check if port 5173 is in use. You can specify a different port:

bun run dev -- --port 3000

πŸ“„ License

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


πŸ™ Acknowledgments

  • Rosetta Code - For the amazing collection of programming problems
  • Motion - For the powerful animation library
  • Tailwind CSS - For the incredible styling framework
  • Lucide - For the beautiful icon set
  • The open-source community for inspiration and tools

πŸ‘¨β€πŸ’» Author

feb027


Made with πŸ’™ and ✨ by feb027

Transform code into art, one visualization at a time.

React TypeScript Tailwind CSS Vite

⭐ Star this repo β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages