mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 17:11:13 -05:00
feat: Core models implementation - Phase 1 complete
Settings Configuration: - Split settings into base.py, local.py, production.py - Configured all 60+ installed packages - Set up PostgreSQL, Redis, Celery, Channels - Configured caching, sessions, logging - Added security settings for production Core Models (apps/core/models.py): - BaseModel: UUID primary key + timestamps + lifecycle hooks - VersionedModel: Automatic version tracking with DirtyFieldsMixin - Country, Subdivision, Locality: Location reference data - DatePrecisionMixin: Track date precision (year/month/day) - SoftDeleteMixin: Soft-delete functionality - ActiveManager & AllObjectsManager: Query managers User Models (apps/users/models.py): - Custom User model with UUID, email-based auth - OAuth support (Google, Discord) - MFA support fields - Ban/unban functionality - UserRole: Role-based permissions (user/moderator/admin) - UserProfile: Extended user info and preferences App Structure: - Created 7 Django apps with proper configs - Set up migrations for core and users apps - All migrations applied successfully to SQLite Testing: - Django check passes with only 1 warning (static dir) - Database migrations successful - Ready for entity models (Park, Ride, Company) Next: Implement entity models for parks, rides, companies
This commit is contained in:
51
django/config/settings/local.py
Normal file
51
django/config/settings/local.py
Normal file
@@ -0,0 +1,51 @@
|
||||
"""
|
||||
Django development settings for ThrillWiki project.
|
||||
These settings are used during local development.
|
||||
"""
|
||||
|
||||
from .base import *
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = env.bool('DEBUG', default=True)
|
||||
|
||||
ALLOWED_HOSTS = env.list('ALLOWED_HOSTS', default=['localhost', '127.0.0.1'])
|
||||
|
||||
# Development-specific apps
|
||||
# INSTALLED_APPS += [
|
||||
# 'silk', # Profiling (optional, install django-silk if needed)
|
||||
# ]
|
||||
|
||||
# MIDDLEWARE += [
|
||||
# 'silk.middleware.SilkyMiddleware',
|
||||
# ]
|
||||
|
||||
# Database - Use SQLite for quick local development if PostgreSQL not available
|
||||
DATABASES = {
|
||||
'default': env.db(
|
||||
'DATABASE_URL',
|
||||
default='sqlite:///db.sqlite3'
|
||||
)
|
||||
}
|
||||
|
||||
# Disable caching in development
|
||||
CACHEOPS_ENABLED = False
|
||||
|
||||
# Email backend for development (console)
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||
|
||||
# Django Debug Toolbar (optional, install if needed)
|
||||
# INSTALLED_APPS += ['debug_toolbar']
|
||||
# MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware']
|
||||
# INTERNAL_IPS = ['127.0.0.1']
|
||||
|
||||
# Celery - Use eager mode in development
|
||||
CELERY_TASK_ALWAYS_EAGER = env.bool('CELERY_TASK_ALWAYS_EAGER', default=True)
|
||||
CELERY_TASK_EAGER_PROPAGATES = True
|
||||
|
||||
# CORS - Allow all origins in development
|
||||
CORS_ALLOW_ALL_ORIGINS = True
|
||||
|
||||
# Logging - More verbose in development
|
||||
LOGGING['root']['level'] = 'DEBUG'
|
||||
LOGGING['loggers']['django']['level'] = 'DEBUG'
|
||||
LOGGING['loggers']['apps']['level'] = 'DEBUG'
|
||||
Reference in New Issue
Block a user