Corrison API

June 2, 2025 • Projects

I am really excited to be building my own headless cms platform. Using Django as the backend and Astro Framework as the frontend Corrison API will support me to building sites quickly. Rather than always having to create a new Django project or a new Astro project I get to use the APIs set up and create multi-sites all running from one domain. This will really help me build more affiliate and print-on-demand sites.

Corrison API

Thanks, for sharing:

Introducing Corrison: The Flexible Django eCommerce Platform Built for Multi-Domain Deployment

Building an eCommerce platform that can be deployed across multiple domains while maintaining code consistency is a challenge many developers face. Today, I'm excited to introduce Corrison, an open-source Django-based eCommerce platform designed specifically with reusability and customization in mind.

Why I Built Corrison

In my experience developing web solutions, I repeatedly encountered the same challenge: I wanted similar functionality but with unique branding. The traditional approach of creating separate codebases for each project became unsustainable. This led to the development of Corrison - a platform that provides enterprise-level eCommerce functionality while remaining flexible enough to adapt to different business needs.

Key Design Principles

1. Service-Oriented Architecture

At its core, Corrison separates business logic from presentation through a comprehensive service layer. This means:

Cleaner Code: Views remain thin and focused on presentation
Reusability: Business logic can be shared across different views and contexts
Testability: Services can be tested independently of the web framework
Maintainability: Changes to business rules don't require modifications to views


2. Themeable by Design

The platform includes a sophisticated theming system that goes beyond simple color changes:

Dynamic CSS Variables: Colors, fonts, and spacing are controlled through a central theme model
Live Preview: Changes can be previewed in real-time before activation
Component Styling: Every UI element can be customized without touching the code
Multiple Themes: Support for creating and switching between different themes

3. Modular Architecture

Corrison has been set up using focused Django apps, each responsible for specific functionality:

corrison/
├── accounts/    # User management
├── cart/        # Shopping cart functionality
├── checkout/    # Order processing and payments
├── products/    # Product catalog
├── blog/        # Content management
└── theme/       # Theming and customization

Technical Highlights

Corrison combines battle-tested technologies with modern development practices:

Django 5.x: Leveraging the latest features for authentication, image upload and delivery plus more

Astro Framework: Fast and SEO friendly the frontend of the project uses Astro

Tailwind CSS: Utility-first CSS framework for rapid UI development

Stripe Integration: Industry-standard payment processing

Performance Optimisation

The platform includes several performance optimizations out of the box:

# Optimized database queries
products = Product.objects.select_related('category') \
                        .prefetch_related('variants', 'attributes')

# Session-based cart for guests
cart = self.cart_service.get_cart(request)

# Efficient template caching
{% cache 3600 "product_list" category.slug %}

Multi-Environment Configuration

Corrison uses a sophisticated settings structure that makes deployment across different environments seamless:

Base Settings: Shared configuration across all environments
Environment-Specific: Development, staging, and production settings
Site Settings: Domain-specific configuration for multi-site deployment

Real-World Applications

Corrison has been designed to handle various eCommerce scenarios:

1. Multi-Brand Companies

Deploy the same codebase across different brand domains with unique:

  • Visual styling and branding
  • Product catalogs
  • Pricing strategies
  • Content and messaging


2. International Markets

Easily adapt the platform for different regions:

  • Currency and language support
  • Region-specific product availability
  • Local payment methods
  • Compliance with local regulations

 

What's Next?

I am actively developing new features for Corrison that I can use when setting up a new site. As it develops I may even get to use it to set up sites for clients. The opportunity for rapid web development means I can set up landing pages for promotions or special events in under 24 hours, which is amazing.

Corrison represents a modern approach to building eCommerce, websites and microsites. One that embraces reusability without sacrificing customisation. Whether I am building a single online store or managing multiple eCommerce sites, Corrison provides the foundation I need to make managing them all manageable.

Thanks, for sharing:


© 2024 Djangify. All rights reserved.