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
- Monthly Availability – bands can set their schedules dynamically
- Gig Claims – release and pick up gigs across the studio network
- Automated Payouts – built-in pay scales integrated with billing
- 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.
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 createcachetableOpen http://localhost:3000/setup to run the setup wizard — this creates your admin account and studio. After setup, optionally seed demo data:
docker compose exec backend python seed_data.py # teachers, students
docker compose exec backend python seed_extra.py # lessons, billing, inventory
docker compose exec backend python seed_resources.py # digital library
docker compose exec backend python seed_extra_resources.py
docker compose exec backend python seed_gigs.py # bands, gigsDemo credentials after seeding:
| Role | Password | |
|---|---|---|
| Admin | (your /setup credentials) | (your /setup password) |
| Teacher | teacher1@test.com |
teacher123 |
| Student | gig_student1@test.com |
student123 |
| 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.
