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
Specialized Topics
🚀 Quick Start
For new developers joining the project:
- Start with Development Setup to get your environment ready
- Read Architecture Overview to understand the system design
- Follow Frontend Architecture to understand the SolidJS structure
- 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:
- Keep it current - Update docs when making code changes
- Use examples - Include code snippets and practical examples
- Be comprehensive - Cover both happy path and edge cases
- Link related topics - Cross-reference related documentation
- 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