Skip to main content

PianoRhythm Technical Documentation

Welcome to the comprehensive technical documentation for PianoRhythm, a multiplayer social web application for real-time musical collaboration.

📚 Documentation Index

Core Architecture

Frontend Development

Backend & Infrastructure

Development & Operations

🚀 Quick Start

For new developers joining the project:

  1. Start with Development Setup to get your environment ready
  2. Read Architecture Overview to understand the system design
  3. Follow Frontend Architecture to understand the SolidJS structure
  4. Review Testing Guide to understand our testing practices

🔧 Key Technologies

  • Frontend: SolidJS, TypeScript, Hope UI, Vinxi
  • Backend: Bun/Node.js, MongoDB, WebSockets
  • Core Engine: Rust, WebAssembly, Protocol Buffers
  • 3D Rendering: Bevy Engine, WebGPU/WebGL2
  • Audio: Custom Rust synthesizer, Web Audio API
  • Testing: Vitest, Solid Testing Library, Cypress
  • Deployment: GitHub Pages, Docker, DigitalOcean

📖 Documentation Guidelines

When contributing to documentation:

  1. Keep it current - Update docs when making code changes
  2. Use examples - Include code snippets and practical examples
  3. Be comprehensive - Cover both happy path and edge cases
  4. Link related topics - Cross-reference related documentation
  5. Include diagrams - Use Mermaid diagrams for complex flows

🤝 Contributing

See our main Contributing Guide for general contribution guidelines.

For documentation-specific contributions:

  • Follow the existing structure and formatting
  • Test code examples before including them
  • Update the index when adding new documentation files
  • Use clear, concise language suitable for developers of all levels

📞 Support


Last Updated: 2025-06-28