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