Initial commit: WrestleDesk full project
- Django backend with DRF (clubs, wrestlers, trainers, exercises, templates, trainings, homework, locations, leistungstest) - Next.js 16 frontend with React, Shadcn UI, Tailwind - JWT authentication - Full CRUD for all entities - Calendar view for trainings - Homework management system - Leistungstest tracking
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
from django.contrib import admin
|
||||
from django.urls import path, include
|
||||
from django.conf import settings
|
||||
from django.conf.urls.static import static
|
||||
from rest_framework.routers import DefaultRouter
|
||||
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
|
||||
|
||||
from clubs.views import ClubViewSet
|
||||
from wrestlers.views import WrestlerViewSet
|
||||
from trainers.views import TrainerViewSet
|
||||
from locations.views import LocationViewSet
|
||||
from exercises.views import ExerciseViewSet
|
||||
from templates.views import TrainingTemplateViewSet, TemplateExerciseViewSet
|
||||
from trainings.views import TrainingViewSet, AttendanceViewSet, TrainingExerciseViewSet
|
||||
from homework.views import HomeworkViewSet, HomeworkExerciseItemViewSet, HomeworkAssignmentViewSet, HomeworkStatusViewSet, TrainingHomeworkAssignmentViewSet
|
||||
from auth_app.views import login, register, refresh_token, me, user_preferences
|
||||
from stats.views import dashboard_stats
|
||||
from leistungstest.views import LeistungstestStatsViewSet
|
||||
|
||||
router = DefaultRouter()
|
||||
router.register(r'clubs', ClubViewSet, basename='club')
|
||||
router.register(r'wrestlers', WrestlerViewSet, basename='wrestler')
|
||||
router.register(r'trainers', TrainerViewSet, basename='trainer')
|
||||
router.register(r'locations', LocationViewSet, basename='location')
|
||||
router.register(r'exercises', ExerciseViewSet, basename='exercise')
|
||||
router.register(r'templates', TrainingTemplateViewSet, basename='template')
|
||||
router.register(r'template-exercises', TemplateExerciseViewSet, basename='template-exercise')
|
||||
router.register(r'trainings', TrainingViewSet, basename='training')
|
||||
router.register(r'attendances', AttendanceViewSet, basename='attendance')
|
||||
router.register(r'training-exercises', TrainingExerciseViewSet, basename='training-exercise')
|
||||
router.register(r'homework', HomeworkViewSet, basename='homework')
|
||||
router.register(r'homework-exercise-items', HomeworkExerciseItemViewSet, basename='homework-exercise-item')
|
||||
router.register(r'homework-assignments', HomeworkAssignmentViewSet, basename='homework-assignment')
|
||||
router.register(r'homework-status', HomeworkStatusViewSet, basename='homework-status')
|
||||
router.register(r'training-assignments', TrainingHomeworkAssignmentViewSet, basename='training-assignment')
|
||||
router.register(r'leistungstest-stats', LeistungstestStatsViewSet, basename='leistungstest-stats')
|
||||
|
||||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
path('api/v1/', include(router.urls)),
|
||||
path('api/v1/auth/login/', login, name='login'),
|
||||
path('api/v1/auth/register/', register, name='register'),
|
||||
path('api/v1/auth/refresh/', refresh_token, name='refresh_token'),
|
||||
path('api/v1/auth/me/', me, name='me'),
|
||||
path('api/v1/auth/preferences/', user_preferences, name='user_preferences'),
|
||||
path('api/v1/stats/dashboard/', dashboard_stats, name='dashboard-stats'),
|
||||
path('api/v1/training-log/', include('training_log.urls')),
|
||||
path('api/v1/leistungstest/', include('leistungstest.urls')),
|
||||
path('api/schema/', SpectacularAPIView.as_view(), name='schema'),
|
||||
path('api/docs/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'),
|
||||
]
|
||||
|
||||
if settings.DEBUG:
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
Reference in New Issue
Block a user