Note: StudioSync is currently in active Beta. While it is feature-complete for most studio management tasks, please back up your data regularly as we approach a stable 1.0 release.
- Comprehensive Student Profiles β instrument, enrollment status, progress
- Band/Group Organization β groups, photos, members, genre
- Enrollment History β lesson counts, journey tracking
- Smart Calendar β recurring patterns, conflict detection, online/inβperson lessons, cancellations, makeβups, noβshow tracking
- Rich Lesson Docs β notes, practice assignments, ratings, repertoire, file attachments, visibility controls
- Reusable Lesson Plans β templates, skillβlevel targeting, duration, tags, sharing
- Automated Invoicing β from lessons, bandβlevel billing, tax, status tracking
- Multiple Payment Methods β cash, check, card with Stripe integration, Venmo, PayPal, Zelle, etc.
- Financial Intelligence β lateβfee automation, overdue alerts, saved payment methods, professional branding
- Physical Inventory β instruments, equipment, condition, location, lowβstock alerts
- Digital Library β PDFs, audio, video, external links, tagging, size/MIME tracking
- Practice Room Reservations β capacity, equipment, hourly rates, conflict detection, payment tracking
- InβApp Messaging β threaded, multiβparticipant, attachments, read/unread, topics
- MultiβChannel Notifications β email, SMS, push, lesson reminders, invoice alerts, resource notifications, system announcements (SMS has not been tested yet)
- Student Goal Management β targets, dates, percentage progress, status, notes, teacher collaboration
- RealβTime Dashboard β customizable widgets, quick stats, upcoming lessons, activity feed, studio health metrics
- Exportable Reports β student progress, financials, attendance, others - all able to export to Excel, CSV, or JSON
- Studio Layout Editor β 2D canvas (ReactβKonva), dragβdrop rooms, item library, rotation, resizing, printing (IN DEVELOPMENT)
- Teacher Management β profiles, specialties, hourly rates, availability, booking buffers, qualifications
- Location & Timezone Detection β IP geolocation auto-fills your timezone, city, and country during setup and in studio settings
- Dynamic Theming β 8+ color schemes, realβtime switching, dark mode (coming soon)
- Appearance Customization β font sizes, compact mode, CSS variables, glassmorphism, modern dialogs
- Authentication β email login, password recovery, session handling
- RoleβBased Permissions β Admin (full), Teacher (read-only billing), Student, Parent with granular controls and tailored dashboards
- Enhanced Instructor Permissions β Instructors (Teachers) now have read-only access to studio billing and invoices for transparency, while management remains restricted to Admin users.
- OneβCommand Docker β full stack (PostgreSQL, Django Q, Django, Next.js) via Docker Compose
- Production Setup Script β guided first-run wizard for configuring secrets, Stripe, Twilio, Stream Chat, and file storage
- Docker & Docker Compose
- Node.js >= 20.9.0 (frontend development)
- Python 3.11+ (backend development)
Runs a guided wizard that generates a secure .env, connects your integrations (Stripe, Twilio, Stream Chat), and creates your admin account.
git clone https://github.com/aviatorcards/StudioSync.git
cd StudioSync
./scripts/init-production.shThe script will prompt you for:
- Stripe keys (billing & invoices)
- Twilio credentials (SMS notifications)
- Stream Chat keys (real-time messaging)
- File storage preference (local Docker volume or S3/R2)
- Your admin email and password
All integrations are optional β you can skip any and add them later by editing .env and running docker compose restart.
Spins up a pre-seeded environment with sample students, lessons, and resources. Useful for evaluating the app before committing to a full setup.
./scripts/init-demo.shDemo login: admin@demo.com / demo123
git clone https://github.com/aviatorcards/StudioSync.git
cd StudioSync
# Copy and edit the environment file
cp .env.example .env
docker compose up -d
docker compose exec backend python manage.py migrate
docker compose exec backend python manage.py createcachetableThen open the setup wizard at http://localhost:3000/setup to configure your studio and admin account.
| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| API Docs | http://localhost:8000/api/docs |
| Django Admin | http://localhost:8000/admin |
StudioSync is configured via a .env file in the repo root. The production setup script generates this for you; for manual setups, copy .env.example as a starting point.
| Integration | Env vars | What it enables |
|---|---|---|
| Stripe | STRIPE_PUBLISHABLE_KEY, STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET |
Invoices, payment processing |
| Twilio | TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER |
SMS notifications |
| Stream Chat | STREAM_API_KEY, STREAM_API_SECRET |
Real-time messaging |
| S3 / R2 | AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_STORAGE_BUCKET_NAME |
Cloud file storage |
All integrations are disabled when their env vars are blank. Email is configured at runtime via Admin β Core β Email Configurations (no env vars required).
- Framework: Next.js 16 (App Router)
- Styling: Tailwind CSS + vanilla CSS
- State/Data: React Query, Context API
- Icons: Lucide React
- Animations: Framer Motion
- Charts: Recharts
- Reports: ExcelJS (Excel export)
- Framework: Django 5.0 + Django REST Framework
- Database: PostgreSQL (data, cache, background tasks)
- Realβtime: Django Channels (InMemoryChannelLayer)
- Task Queue: Django Q
studiosync/
βββ backend/ # Django REST API & core logic
β βββ config/ # Settings & URL routing
β βββ apps/ # Modular apps (students, lessons, billing, etc.)
β βββ scripts/ # Utility scripts
βββ frontend/ # Next.js application
β βββ app/ # App Router (pages & layouts)
β βββ components/ # Reusable UI components
β βββ contexts/ # Auth & appearance state
β βββ services/ # API communication layer
βββ docs/ # Technical documentation
βββ scripts/ # Deployment & maintenance scripts
β βββ init-production.sh # Guided production setup
β βββ init-demo.sh # Pre-seeded demo environment
βββ docker-compose.yml # Container orchestration
Distributed under the GPLβ3.0 License. See LICENSE for more information.
