feat: major API restructure and Vue.js frontend integration

- Centralize API endpoints in dedicated api app with v1 versioning
- Remove individual API modules from parks and rides apps
- Add event tracking system with analytics functionality
- Integrate Vue.js frontend with Tailwind CSS v4 and TypeScript
- Add comprehensive database migrations for event tracking
- Implement user authentication and social provider setup
- Add API schema documentation and serializers
- Configure development environment with shared scripts
- Update project structure for monorepo with frontend/backend separation
This commit is contained in:
pacnpal
2025-08-24 16:42:20 -04:00
parent 92f4104d7a
commit e62646bcf9
127 changed files with 27734 additions and 1867 deletions

View File

@@ -66,6 +66,7 @@ DJANGO_APPS = [
THIRD_PARTY_APPS = [
"rest_framework", # Django REST Framework
"rest_framework.authtoken", # Token authentication
"drf_spectacular", # OpenAPI 3.0 documentation
"corsheaders", # CORS headers for API
"pghistory", # django-pghistory
@@ -94,6 +95,7 @@ LOCAL_APPS = [
"apps.accounts",
"apps.parks",
"apps.rides",
"apps.api", # New consolidated API app
"apps.email_service",
"apps.media.apps.MediaConfig",
"apps.moderation",
@@ -295,8 +297,11 @@ SPECTACULAR_SETTINGS = {
"SERVE_INCLUDE_SCHEMA": False,
"COMPONENT_SPLIT_REQUEST": True,
"TAGS": [
{"name": "parks", "description": "Theme park operations"},
{"name": "rides", "description": "Ride information and management"},
{"name": "Parks", "description": "Theme park operations"},
{"name": "Rides", "description": "Ride information and management"},
{"name": "Statistics",
"description": "Statistical endpoints providing aggregated data and insights"},
{"name": "Reviews", "description": "User reviews and ratings for parks and rides"},
{"name": "locations", "description": "Geographic location services"},
{"name": "accounts", "description": "User account management"},
{"name": "media", "description": "Media and image management"},
@@ -304,6 +309,13 @@ SPECTACULAR_SETTINGS = {
],
"SCHEMA_PATH_PREFIX": "/api/",
"DEFAULT_GENERATOR_CLASS": "drf_spectacular.generators.SchemaGenerator",
"DEFAULT_AUTO_SCHEMA": "apps.api.v1.schema.ThrillWikiAutoSchema",
"PREPROCESSING_HOOKS": [
"apps.api.v1.schema.custom_preprocessing_hook",
],
"POSTPROCESSING_HOOKS": [
"apps.api.v1.schema.custom_postprocessing_hook",
],
"SERVE_PERMISSIONS": ["rest_framework.permissions.AllowAny"],
"SWAGGER_UI_SETTINGS": {
"deepLinking": True,