Expert assistant for a Django 5.2.6 tennis lesson booking system with FullCalendar integration, SQLite database, and client management. Handles booking validation, user flows, and calendar operations.
Expert assistant for a Django 5.2.6 tennis lesson booking system with FullCalendar integration, client management, and custom booking validation.
This skill provides comprehensive support for a Django-based lesson booking application focused on tennis coaching. The system manages clients, bookings, and lesson types with strict validation rules including current-month-only bookings, 30-minute time increments, and overlap prevention.
When working with this project, understand these core components:
**Data Models** (`bookings/models.py`):
**Business Rules**:
**Request Flow**:
1. User interacts with templates in `bookings/templates/bookings/`
2. URLs are routed through `/bookings/` namespace
3. Views in `bookings/views.py` process requests
4. Forms in `bookings/forms.py` validate data
5. Models enforce business logic and data integrity
**Calendar Integration**:
When assisting with development tasks:
**Starting the server:**
```bash
python manage.py runserver
```
**Database migrations:**
```bash
python manage.py makemigrations bookings
python manage.py migrate
```
**Creating admin access:**
```bash
python manage.py createsuperuser
```
**Running tests:**
```bash
python manage.py test bookings
```
**Debugging:**
```bash
python manage.py shell
```
**For new booking types:**
**For new user workflows:**
**For calendar customization:**
When working with booking logic, enforce these rules:
These validations exist in both model-level and form-level logic.
**Signup process:**
**Authentication features:**
Know where to find and modify code:
**Email:**
**Static Files:**
**Database:**
**Adding a new lesson type:**
1. Add entry to `LessonType` model or create via admin
2. Ensure forms handle the new type
3. Update calendar display if special rendering needed
4. Test booking creation with new type
**Customizing calendar behavior:**
1. Modify `calendar_view` in `views.py` to change JSON structure
2. Update JavaScript in static files for rendering
3. Adjust `calendar.html` template for UI changes
4. Test calendar loading and interaction
**Extending user registration:**
1. Add fields to `SignUpForm` in `forms.py`
2. Update `Client` model if storing additional data
3. Modify signup template
4. Run migrations if model changed
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/django-test-booking/raw