A robust Django-based e-commerce backend system designed for scalability and financial accuracy.
-
Product Management
- Inventory tracking
- Price and cost management
- Multi-currency support
-
Order Processing
- Cart management
- Order status tracking
- Payment integration
-
Financial Management
- Transaction recording
- Multi-currency support
- Historical price tracking
- Tax handling
-
Business Analytics
- Sales and returns tracking
- Product catalog with inventory management
- Historical price tracking for analytics
- Cost tracking for profit calculations
- Cart management system
- Order status workflow
- Integration with payment processing
- Transaction processing
- Multi-currency support with exchange rates
- Tax calculation and tracking
- Historical price records for auditing
- Business metrics aggregation
- Period-based reporting
- Sales and returns tracking
Product
: Central product catalog with inventory trackingOrder
&OrderCartItem
: Order management systemTransaction
: Financial transaction recordsCurrency
: Exchange rate managementProductPriceRecord
: Historical price trackingReport
: Business metrics and analytics
Customer
: Customer profile managementCustomerAddress
: Multiple address supportCustomerPhone
: Contact information managementCoupon
: Promotional discount system
- Soft delete support across all models
- Timestamp tracking (created, updated, deleted)
- Note-taking capability on all records
- Protected financial records
- Transaction history preservation
- Currency conversion tracking
- Clone the repository
docker compose up -d --build
- Go to http://localhost:8000/swagger/
- Create product
- Create order
- Create successful transaction
- Generate report:
docker compose exec web python manage.py shell -c "from reports.tasks import generate_report; generate_report.delay(start_date='2025-02-15', end_date='2025-02-18')"
-
Create model test factories and write property-based tests using hypothesis.
-
Fix linter warnings
-
Check bottlenecks and optimise (add indexes, use caching, etc.)