Django/DRF + PostgreSQL/Redis/Celery backend with accounts, library, moments, and notifications apps; React/TypeScript/Vite frontend with Instagram-style sidebar nav, feed, profiles, nested comment replies, notifications, and photo/video upload with ffmpeg-generated posters. Co-Authored-By: Claude Sonnet 5 <[email protected]>
30 lines
715 B
Python
30 lines
715 B
Python
import uuid
|
|
|
|
from django.db import models
|
|
|
|
|
|
class TimeStampedModel(models.Model):
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
updated_at = models.DateTimeField(auto_now=True)
|
|
|
|
class Meta:
|
|
abstract = True
|
|
|
|
|
|
class UUIDModel(models.Model):
|
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
|
|
|
class Meta:
|
|
abstract = True
|
|
|
|
|
|
class Audience(models.TextChoices):
|
|
"""Who can see a Moment or Album. Mirrors the concept doc's privacy model."""
|
|
|
|
PUBLIC = "public", "Public"
|
|
FOLLOWERS = "followers", "Followers"
|
|
FRIENDS = "friends", "Friends"
|
|
FAMILY = "family", "Family"
|
|
CUSTOM = "custom", "Custom"
|
|
ONLY_ME = "only_me", "Only Me"
|