{"id":28700583,"url":"https://github.com/arslanramay/django-ecommerce-storefront","last_synced_at":"2026-04-17T10:30:56.172Z","repository":{"id":294520083,"uuid":"941468947","full_name":"arslanramay/django-ecommerce-storefront","owner":"arslanramay","description":"Python Django eCommerce Store","archived":false,"fork":false,"pushed_at":"2025-06-11T19:08:01.000Z","size":783,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-06-11T20:46:19.250Z","etag":null,"topics":["django-ecommerce-project","django-framework","django-orm","django-rest-framework","django-shop","mysql","python","python-ecommerce"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arslanramay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-02T11:18:03.000Z","updated_at":"2025-05-24T16:07:27.000Z","dependencies_parsed_at":"2025-05-20T21:22:19.133Z","dependency_job_id":null,"html_url":"https://github.com/arslanramay/django-ecommerce-storefront","commit_stats":null,"previous_names":["arslanramay/django-ecommerce-storefront"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arslanramay/django-ecommerce-storefront","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arslanramay%2Fdjango-ecommerce-storefront","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arslanramay%2Fdjango-ecommerce-storefront/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arslanramay%2Fdjango-ecommerce-storefront/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arslanramay%2Fdjango-ecommerce-storefront/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arslanramay","download_url":"https://codeload.github.com/arslanramay/django-ecommerce-storefront/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arslanramay%2Fdjango-ecommerce-storefront/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31925246,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T10:19:20.377Z","status":"ssl_error","status_checked_at":"2026-04-17T10:19:18.682Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django-ecommerce-project","django-framework","django-orm","django-rest-framework","django-shop","mysql","python","python-ecommerce"],"created_at":"2025-06-14T11:08:53.764Z","updated_at":"2026-04-17T10:30:56.164Z","avatar_url":"https://github.com/arslanramay.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Storefront Project - Technical Documentation\n\nThis document serves as the technical documentation for the **Storefront** project. It provides an overview of the features implemented, along with details of the files changed and links to related commits. This documentation is designed to help track the progress of the project and serve as a reference for future development.\n\n---\n\n## Table of Contents\n1. [Overview](#overview)\n2. [Features Implemented](#features-implemented)\n   - [Orders API](#orders-api)\n   - [Cart Management](#cart-management)\n   - [Product Management](#product-management)\n   - [Customer Management](#customer-management)\n   - [Authentication and Authorization](#authentication-and-authorization)\n   - [Reviews API](#reviews-api)\n   - [Debug Toolbar Integration](#debug-toolbar-integration)\n3. [Database Schema](#database-schema)\n4. [REST API Endpoints](#rest-api-endpoints)\n\n---\n\n## Overview\n\nThe **Storefront** project is a Django-based e-commerce platform that provides APIs for managing products, orders, customers, and more. It uses Django REST Framework (DRF) for building APIs and integrates with third-party libraries like Djoser for authentication.\n\n---\n\n## Features Implemented\n\n### 1. Orders API\n**Description:**  \nThe Orders API allows customers to place orders, view their order history, and manage order items.\n\n**Key Changes:**\n- Added `Order` and `OrderItem` models in [`store/models.py`](store/models.py).\n- Created serializers for orders:\n  - [`OrderSerializer`](store/serializers.py)\n  - [`CreateOrderSerializer`](store/serializers.py)\n- Implemented order creation logic in `CreateOrderSerializer.save()`:\n  - Handles cart-to-order conversion.\n  - Deletes the cart after order creation.\n- Added permissions for canceling orders in [`store/migrations/0011_alter_order_options.py`](store/migrations/0011_alter_order_options.py).\n\n**Files Changed:**\n- [`store/models.py`](store/models.py)\n- [`store/serializers.py`](store/serializers.py)\n- [`store/migrations/`](store/migrations/)\n\n**Related Commits:**\n- [Add Order and OrderItem models](#)\n- [Implement CreateOrderSerializer](#)\n- [Add permissions for canceling orders](#)\n\n---\n\n### 2. Cart Management\n**Description:**  \nThe Cart Management feature allows customers to add, update, and remove items from their shopping cart.\n\n**Key Changes:**\n- Added `Cart` and `CartItem` models in [`store/models.py`](store/models.py).\n- Created serializers for cart operations:\n  - [`AddCartItemSerializer`](store/serializers.py)\n  - [`UpdateCartItemSerializer`](store/serializers.py)\n  - [`CartItemSerializer`](store/serializers.py)\n- Implemented logic for adding items to the cart in `AddCartItemSerializer.save()`.\n\n**Files Changed:**\n- [`store/models.py`](store/models.py)\n- [`store/serializers.py`](store/serializers.py)\n- [`store/migrations/`](store/migrations/)\n\n**Related Commits:**\n- [Add Cart and CartItem models](#)\n- [Implement AddCartItemSerializer](#)\n\n---\n\n### 3. Product Management\n**Description:**  \nThe Product Management feature provides APIs for listing, creating, updating, and deleting products.\n\n**Key Changes:**\n- Added `Product` and `Collection` models in [`store/models.py`](store/models.py).\n- Created `ProductSerializer` in [`store/serializers.py`](store/serializers.py).\n- Implemented tax calculation logic in `ProductSerializer.calculate_tax()`.\n\n**Files Changed:**\n- [`store/models.py`](store/models.py)\n- [`store/serializers.py`](store/serializers.py)\n- [`store/views.py`](store/views.py)\n\n**Related Commits:**\n- [Add Product and Collection models](#)\n- [Implement ProductSerializer](#)\n\n---\n\n### 4. Customer Management\n**Description:**  \nThe Customer Management feature allows managing customer profiles and their associated data.\n\n**Key Changes:**\n- Added `Customer` model in [`store/models.py`](store/models.py).\n- Created `CustomerSerializer` in [`store/serializers.py`](store/serializers.py).\n- Linked customers to users via a `OneToOneField`.\n\n**Files Changed:**\n- [`store/models.py`](store/models.py)\n- [`store/serializers.py`](store/serializers.py)\n\n**Related Commits:**\n- [Add Customer model](#)\n- [Implement CustomerSerializer](#)\n\n---\n\n### 5. Authentication and Authorization\n**Description:**  \nIntegrated authentication and authorization using Djoser and JWT.\n\n**Key Changes:**\n- Configured `SIMPLE_JWT` in [`storefront/settings.py`](storefront/settings.py).\n- Customized Djoser serializers for user creation and management.\n\n**Files Changed:**\n- [`storefront/settings.py`](storefront/settings.py)\n\n**Related Commits:**\n- [Integrate Djoser for authentication](#)\n- [Configure JWT authentication](#)\n\n---\n\n### 6. Reviews API\n**Description:**  \nThe Reviews API allows customers to leave reviews for products.\n\n**Key Changes:**\n- Added `Review` model in [`store/models.py`](store/models.py).\n- Created `ReviewSerializer` in [`store/serializers.py`](store/serializers.py).\n- Implemented review creation logic in `ReviewSerializer.create()`.\n\n**Files Changed:**\n- [`store/models.py`](store/models.py)\n- [`store/serializers.py`](store/serializers.py)\n\n**Related Commits:**\n- [Add Review model](#)\n- [Implement ReviewSerializer](#)\n\n---\n\n### 7. Debug Toolbar Integration\n**Description:**  \nIntegrated Django Debug Toolbar for performance monitoring and debugging.\n\n**Key Changes:**\n- Added `debug_toolbar` to `INSTALLED_APPS` in [`storefront/settings.py`](storefront/settings.py).\n- Configured middleware and URLs for Debug Toolbar.\n\n**Files Changed:**\n- [`storefront/settings.py`](storefront/settings.py)\n- [`storefront/urls.py`](storefront/urls.py)\n\n**Related Commits:**\n- [Integrate Django Debug Toolbar](#)\n\n---\n\n## Database Schema\nThe database schema includes the following key models:\n- `Product`\n- `Collection`\n- `Customer`\n- `Order`\n- `OrderItem`\n- `Cart`\n- `CartItem`\n- `Review`\n\nRefer to the migrations folder for detailed schema changes: [`store/migrations/`](store/migrations/).\n\n---\n\n## REST API Endpoints\nHere are some of the key API endpoints implemented:\n\n### Products\n- `GET /store/products/` - List all products.\n- `POST /store/products/` - Create a new product.\n\n### Orders\n- `POST /store/orders/` - Create a new order.\n- `GET /store/orders/` - List all orders for the authenticated user.\n\n### Cart\n- `POST /store/cart/items/` - Add an item to the cart.\n- `PATCH /store/cart/items/\u003cid\u003e/` - Update the quantity of a cart item.\n\n### Reviews\n- `POST /store/products/\u003cid\u003e/reviews/` - Add a review for a product.\n\n---\n\nThis documentation will be updated as new features are implemented.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farslanramay%2Fdjango-ecommerce-storefront","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farslanramay%2Fdjango-ecommerce-storefront","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farslanramay%2Fdjango-ecommerce-storefront/lists"}