Skip to content

Store App

E-commerce store and product management.

Purpose

The store app provides product catalog, inventory, cart management, and order processing.

Quick Start

from htk.apps.store.models import *

# Create and use models
# See models.py for available classes
instance = YourModel.objects.create(field='value')

Key Components

Component Purpose
Models Product, Inventory, Order, OrderItem models
Views Provide web interface and API endpoints
Forms Handle data validation and user input
Serializers API serialization and deserialization

Common Patterns

Basic Model Operations

from htk.apps.store.models import *

# Create
obj = YourModel.objects.create(name='Example')

# Read
obj = YourModel.objects.get(id=1)

# Update
obj.name = 'Updated'
obj.save()

# Delete
obj.delete()

Filtering and Querying

# Filter by attributes
results = YourModel.objects.filter(status='active')

# Order by field
ordered = YourModel.objects.all().order_by('-created_at')

# Count results
count = YourModel.objects.filter(status='active').count()

API Endpoints

Endpoint Method Purpose
/api/store/ GET List items
/api/store/ POST Create item
/api/store/{id}/ GET Get item details
/api/store/{id}/ PATCH Update item
/api/store/{id}/ DELETE Delete item

Configuration

# settings.py
HTK_STORE_ENABLED = True
# Additional settings in constants/defaults.py

Best Practices

  • Use ORM - Leverage Django ORM for database queries
  • Validate input - Use forms and serializers for validation
  • Check permissions - Verify user has required permissions
  • Cache results - Cache expensive queries and operations
  • Write tests - Test models, views, forms, and API endpoints

Testing

from django.test import TestCase
from htk.apps.store.models import *

class StoreTestCase(TestCase):
    def setUp(self):
        """Create test fixtures"""
        self.obj = YourModel.objects.create(field='value')

    def test_model_creation(self):
        """Test creating an object"""
        self.assertIsNotNone(self.obj.id)
  • htk.apps.accounts - User accounts

References

Notes

  • Status: Production-Ready
  • Last Updated: November 2025
  • Maintained by: HTK Contributors