A comprehensive studio management solution designed for modern production environments. Our platform streamlines operations for TV, radio, photo, and video studios while providing powerful tools for resource management and client engagement.
-
Modern Dashboard
- Real-time analytics and statistics
- Revenue tracking with interactive charts
- Customer growth visualization
- Website traffic analysis
- Responsive Material-UI components
-
User Interface
- Clean and intuitive design
- Responsive layout for all devices
- Dark/Light theme support
- Interactive data visualization
- Real-time updates
-
User Management
- User registration and authentication
- JWT-based authentication system
- User profiles with role-based access control
- Password encryption using bcrypt
-
Studio Management
- Studio space management
- Equipment inventory
- Facility details and amenities
- Availability scheduling
-
Booking System
- Real-time availability checking
- Booking management
- Schedule conflicts prevention
- Booking history
-
Payment Processing
- Secure payment processing
- Invoice generation
- Payment history tracking
- Refund management
- Framework: React with TypeScript
- UI Library: Material-UI (MUI)
- State Management: React Context API
- Charts: ECharts
- Build Tool: Vite
- Package Manager: npm/yarn
- Code Quality: ESLint, Prettier
- Framework: Django 3.1.12
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
- API: Django REST Framework
- File Storage: Django Media Files
- Security: bcrypt password hashing
- Install Node.js dependencies:
npm install
- Start development server:
Access at http://localhost:3000/elegent
npm run dev
- Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Configure MongoDB:
- Install MongoDB if not already installed
- Create a database named 'studiomanager'
- Update MongoDB settings in
core/settings.py
if needed
- Apply migrations:
python manage.py migrate
- Create a superuser:
python manage.py createsuperuser # Use these credentials for testing: # Email: [email protected] # Password: 12345678
- Run the development server:
Access at http://127.0.0.1:8000/
python manage.py runserver
-
Login:
POST /api/accounts/token/
- Request body:
{"email": "[email protected]", "password": "userpassword"}
- Returns: Access and refresh tokens
- Request body:
-
Refresh Token:
POST /api/accounts/token/refresh/
- Request body:
{"refresh": "your-refresh-token"}
- Returns: New access token
- Request body:
-
Register:
POST /api/accounts/register/
- Request body:
{"email": "[email protected]", "password": "userpassword", "first_name": "John", "last_name": "Doe"}
- Request body:
- User Profile:
GET /api/accounts/profile/
- Requires: Authentication token
- Returns: User profile information
- Admin Panel:
/admin/
- Requires: Superuser credentials
- Manage users, studios, bookings, and payments
MONGODB_DATABASES = {
'default': {
'name': 'studiomanager',
'host': 'localhost',
'port': 27017,
}
}
- JWT tokens for API authentication
- Passwords hashed using bcrypt
- CORS configured for secure cross-origin requests
- Media files served through Django's secure file server
- Environment variables for sensitive data
- TypeScript for type safety
- ESLint and Prettier for code quality
- Build frontend:
npm run build
- Configure backend:
- Set
DEBUG = False
in settings - Configure MongoDB authentication
- Set up environment variables
- Configure CORS settings
- Set up static/media file serving
- Install SSL/TLS certificates
- Configure logging
- Set
Default superuser credentials for testing:
- Email: [email protected]
- Password: 12345678
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License.