Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
3a75b77
Set up the project.
hammads-turing Oct 6, 2025
738614d
Merge pull request #5 from TuringGpt/AS-1_project-setup
sage-turing Oct 9, 2025
bdef1f9
feat: E-commerce Frontend Setup with React, TypeScript, Material-UI, …
shehryar-turing Oct 9, 2025
fcc9b22
Improved the top-level docstring for the asgi.py module and introduce…
michaelos443 Oct 10, 2025
77bc88c
feat: Add beautifully animated sidebar with categories and burger men…
shehryar-turing Oct 10, 2025
47ea49d
AS-2 - implement authentication endpoint register and login
sageliteoff Oct 10, 2025
32dc850
AS-2 - implement all test cases for authentication endpoints
sageliteoff Oct 13, 2025
3114ae4
Merge pull request #20 from TuringGpt/AS-2_auth
michaelos443 Oct 13, 2025
d2ef16d
Merge pull request #19 from TuringGpt/michael_minor_docstring_improve…
michaelos443 Oct 13, 2025
91c8c31
AS-3 - implement github workflow and user role permissions
sageliteoff Oct 14, 2025
98a2d0d
AS-3 - fix comments raised by bot
sageliteoff Oct 14, 2025
a119c37
Merge pull request #25 from TuringGpt/AS-3_workflow_and_permissions
michaelos443 Oct 14, 2025
23b78e7
feat: Implement centralized color system with Colors class (#22)
shehryar-turing Oct 14, 2025
95ce98c
AS-3 - implement API for products category and brands
sageliteoff Oct 15, 2025
c95a6b2
Merge pull request #26 from TuringGpt/AS-3_category_brand_product_model
michaelos443 Oct 15, 2025
3d0e27b
AS-4 - implement file model and aws s3 config
sageliteoff Oct 15, 2025
9e9b457
feat: Implement modern authentication system with complete password r…
shehryar-turing Oct 16, 2025
e1cbb81
AS-4 - write test cases for storage and finalize direct upload
sageliteoff Oct 17, 2025
bb22f3b
AS-4 - fix test case related s3
sageliteoff Oct 17, 2025
67e88d6
Merge pull request #28 from TuringGpt/AS-4_file
michaelos443 Oct 17, 2025
c46e74c
AS-5 - add image field to product, brand and category. Also implement…
sageliteoff Oct 19, 2025
6742d37
feat: Add Product Search Bar to Header (#29)
shehryar-turing Oct 20, 2025
14f8bd4
feat: Add shop page with filters, sorting, and animations (#31)
shehryar-turing Oct 20, 2025
9f60096
AS-5 - set image field to null when storage file is delted
sageliteoff Oct 20, 2025
e2123e4
Merge pull request #30 from TuringGpt/AS-5_product_image_and_test
michaelos443 Oct 20, 2025
7194c2c
AS-5 - implement account endpoint and test cases
sageliteoff Oct 21, 2025
1fa60a6
AS-5 remove the typo in the serializer
sageliteoff Oct 21, 2025
f03dfc6
SCRUM-30 - implement product filters
sageliteoff Oct 21, 2025
e9d1c8c
SCRUM-30 - update the implementationof the ProductFilter
sageliteoff Oct 21, 2025
9bfad3d
Merge pull request #33 from TuringGpt/AS-5_account
michaelos443 Oct 22, 2025
0c5acd9
Merge pull request #34 from TuringGpt/SCRUM-30_product_filter
michaelos443 Oct 22, 2025
f7a8e98
feat: Product Details Page with Image Gallery, Reviews, and Cart Inte…
shehryar-turing Oct 22, 2025
95a0a42
feat: Add Cart Drawer Modal (#36)
shehryar-turing Oct 22, 2025
4af2239
SCRUM-30 - implement test for product filters
sageliteoff Oct 22, 2025
6bb33af
Merge pull request #38 from TuringGpt/SCRUM-30_filter_test
michaelos443 Oct 23, 2025
1ac1996
feat: Add promotional banners to dashboard (#37)
shehryar-turing Oct 23, 2025
11f4752
feat: Comprehensive Cart Page with Confirmation Dialogs (#39)
shehryar-turing Oct 23, 2025
c198619
SCRUM-30 - implement product search and ordering
sageliteoff Oct 21, 2025
cc4d2ec
SCRUM-30 - fix ordering and search for products and also adds for ord…
sageliteoff Oct 22, 2025
c37da94
SCRUM - improve the implementation of the product ordering test cases
sageliteoff Oct 23, 2025
21b1435
SCRUM-16 - allow cors
sageliteoff Oct 23, 2025
6f51a24
SCRUM-32 - implement cart and cart item model
sageliteoff Oct 24, 2025
b14c57b
SCRUM-32 - implement cart and cart item table
sageliteoff Oct 24, 2025
7606490
Merge pull request #35 from TuringGpt/SCRUM-30_product_search
michaelos443 Oct 24, 2025
3ef0981
SCRUM-16 - fix typo in frontend
sageliteoff Oct 24, 2025
b235cd1
Merge pull request #40 from TuringGpt/SCRUM-16_corsheaders_fix
michaelos443 Oct 24, 2025
2d50a4d
Merge pull request #42 from TuringGpt/SCRUM-32_cart_cartitem
michaelos443 Oct 24, 2025
2d7b548
SRUM-18 - implement logout endpoint
sageliteoff Oct 27, 2025
4d513fb
SCRUM-18 - allow control of email verification
sageliteoff Oct 27, 2025
894fe4a
SCRUM-33 - implement cart endpoints
sageliteoff Oct 27, 2025
2de677b
SCRUM-18 - fix assertion
sageliteoff Oct 27, 2025
d6c047b
Merge pull request #43 from TuringGpt/SCRUM-18_logout
michaelos443 Oct 27, 2025
d728bce
feat: API Base Setup with Django Backend Integration (#41)
shehryar-turing Oct 27, 2025
e0ac345
SRUM-18 - remove commented codes from test_create_user_when_verificat…
sageliteoff Oct 27, 2025
e6d4522
SCRUM-33 - fix issues with cart update and serailizer
sageliteoff Oct 27, 2025
5938973
Merge pull request #44 from TuringGpt/SCRUM-18_email_verification_con…
michaelos443 Oct 28, 2025
828dcd3
Merge pull request #45 from TuringGpt/SCRUM-33_add_to_cart
michaelos443 Oct 28, 2025
a4371bd
feat: Login Implementation with Enhanced Error Handling and Guest Acc…
shehryar-turing Oct 28, 2025
e366efd
SCRUM-34 - implement order table
sageliteoff Oct 28, 2025
4669d9f
SCRUM-34 - add table payments and order
sageliteoff Oct 28, 2025
817686b
SCRUM-34 - change user to created_by
sageliteoff Oct 28, 2025
96aefeb
SCRUM-34 - add default pagination
sageliteoff Oct 29, 2025
38584ab
feat: User Profile Page with API Integration (#48)
shehryar-turing Oct 29, 2025
7f98ef1
SCRUM-34 - fix pagination test cases
sageliteoff Oct 29, 2025
7dbb058
Merge pull request #50 from TuringGpt/SCRUM-34_pagination_fix
michaelos443 Oct 29, 2025
115d4ba
SCRUM-34 - fix storage upload issue
sageliteoff Oct 29, 2025
873b376
SCRUM-34 - s3 location and cors fixes
sageliteoff Oct 30, 2025
be1f2e6
feat: Implement GET cart API integration with multi-tab sync (#53)
shehryar-turing Oct 30, 2025
476520a
SCRUM-34 - create file list serializer
sageliteoff Oct 30, 2025
2581040
Merge pull request #49 from TuringGpt/SCRUM-34_order
michaelos443 Oct 30, 2025
e5848bd
Merge pull request #51 from TuringGpt/SCRUM-34_storage_fixes
michaelos443 Oct 30, 2025
5fb6b00
SCRUM-40 - allow unauthenticated users to retreive details for produc…
sageliteoff Oct 31, 2025
41abb9e
SCRUM-40 - create an order item table
sageliteoff Oct 31, 2025
fdf8061
SCRUM-40 - implementation of the get_permission method in ProductUpda…
sageliteoff Oct 31, 2025
83bf11b
SCRUM-40 - create the migration for the order item
sageliteoff Oct 31, 2025
075483f
SCRUM-40 - remove the .DStore-file from the commit
sageliteoff Oct 31, 2025
ebdbcce
SCRUM-40 - how password is set and fix implementation of the script
sageliteoff Oct 31, 2025
ba60df9
feat: Dynamic category loading from API in sidebar (#52)
shehryar-turing Oct 31, 2025
63d5f87
Merge pull request #56 from TuringGpt/SCRUM-40_products_generate_script
michaelos443 Oct 31, 2025
a9cf7f1
Merge pull request #57 from TuringGpt/SCRUM-40_product_retrieve_fix
michaelos443 Nov 3, 2025
ef645cf
Merge pull request #58 from TuringGpt/SCRUM-40_order_item_table
michaelos443 Nov 3, 2025
2a64e8d
SCRUM-30 - update base product queryset
sageliteoff Nov 3, 2025
7918484
Merge pull request #60 from TuringGpt/SCRUM-30_product_queryset_fix
michaelos443 Nov 3, 2025
7df31c8
feat: Implement Avatar Upload with S3 Direct Upload Integration (#55)
shehryar-turing Nov 3, 2025
f24f19b
feat: Integrate Products API - Display Products from Backend (#59)
shehryar-turing Nov 3, 2025
315b4a9
SCRUM-30 - update ProductDetailSerializer to give actual object for i…
sageliteoff Nov 3, 2025
a67c084
SCRUM -30 fix issues and created_by as object to the ProductDetailSer…
sageliteoff Nov 3, 2025
c28d28a
SCRUM-30 - make all decimal fields a numberic field
sageliteoff Nov 3, 2025
34a40d9
SCRUM-33 - add subtotal, shipping, tax and total to cart serializer
sageliteoff Nov 4, 2025
76650f0
SCRUM-33 - fix test cases and remove redundant source field in the Ca…
sageliteoff Nov 4, 2025
fb3f557
Merge pull request #62 from TuringGpt/SCRUM-30_product_detail_data
michaelos443 Nov 4, 2025
c60facb
Merge pull request #63 from TuringGpt/SCRUM-30_decimal_as_numeric
michaelos443 Nov 4, 2025
c544968
Merge pull request #65 from TuringGpt/SCRUM-33_cart_total_subtotal
michaelos443 Nov 4, 2025
7592fca
feat: Integrate Product Details API with Nested Objects (#61)
shehryar-turing Nov 4, 2025
bac9572
feat: Integrate Add to Cart API (#66)
shehryar-turing Nov 4, 2025
fa34c26
Introduced some type hinting issues and logical errors.
michaelos443 Nov 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 134 additions & 0 deletions .github/workflows/test-server.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: Test Server Application

on:
push:
branches:
- main
- augment
- develop
paths:
- 'augment-store/server/**'
- '.github/workflows/test-server.yml'
pull_request:
branches:
- main
- augment
- develop
paths:
- 'augment-store/server/**'

jobs:
test:
runs-on: ubuntu-latest

services:
postgres:
image: postgres:15
env:
POSTGRES_DB: test_db
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
cache: 'pip'
cache-dependency-path: 'augment-store/server/requirements.txt'

- name: Install dependencies
working-directory: augment-store/server
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt

- name: Wait for PostgreSQL
run: |
until pg_isready -h localhost -p 5432; do
echo 'Waiting for PostgreSQL...'
sleep 1
done

- name: Run migrations
working-directory: augment-store/server
env:
DEBUG: 'False'
SECRET_KEY: 'test-secret-key-for-ci'
DATABASE_URL: 'postgresql://postgres:postgres@localhost:5432/test_db'
DATABASE_NAME: 'test_db'
DATABASE_USER: 'postgres'
DATABASE_PASSWORD: 'postgres'
DATABASE_HOST: 'localhost'
DATABASE_PORT: '5432'
FILE_UPLOAD_STORAGE: 'local'
AWS_ACCESS_KEY_ID: 'test-access-key'
AWS_SECRET_ACCESS_KEY: 'test-secret-key'
AWS_STORAGE_BUCKET_NAME: 'test-bucket'
AWS_S3_REGION_NAME: 'us-east-1'
AWS_S3_CUSTOM_DOMAIN: 'test-domain.s3.amazonaws.com'
run: |
python manage.py migrate

- name: Run tests
working-directory: augment-store/server
env:
DEBUG: 'False'
SECRET_KEY: 'test-secret-key-for-ci'
DATABASE_URL: 'postgresql://postgres:postgres@localhost:5432/test_db'
DATABASE_NAME: 'test_db'
DATABASE_USER: 'postgres'
DATABASE_PASSWORD: 'postgres'
DATABASE_HOST: 'localhost'
DATABASE_PORT: '5432'
FILE_UPLOAD_STORAGE: 'local'
AWS_ACCESS_KEY_ID: 'test-access-key'
AWS_SECRET_ACCESS_KEY: 'test-secret-key'
AWS_STORAGE_BUCKET_NAME: 'test-bucket'
AWS_S3_REGION_NAME: 'us-east-1'
AWS_S3_CUSTOM_DOMAIN: 'test-domain.s3.amazonaws.com'

run: |
python manage.py test --verbosity=2

- name: Generate coverage report
working-directory: augment-store/server
env:
DEBUG: 'False'
SECRET_KEY: 'test-secret-key-for-ci'
DATABASE_URL: 'postgresql://postgres:postgres@localhost:5432/test_db'
DATABASE_NAME: 'test_db'
DATABASE_USER: 'postgres'
DATABASE_PASSWORD: 'postgres'
DATABASE_HOST: 'localhost'
DATABASE_PORT: '5432'
FILE_UPLOAD_STORAGE: 'local'
AWS_ACCESS_KEY_ID: 'test-access-key'
AWS_SECRET_ACCESS_KEY: 'test-secret-key'
AWS_STORAGE_BUCKET_NAME: 'test-bucket'
AWS_S3_REGION_NAME: 'us-east-1'
AWS_S3_CUSTOM_DOMAIN: 'test-domain.s3.amazonaws.com'
run: |
pip install coverage
coverage run --source='.' manage.py test
coverage report
coverage xml

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
files: ./augment-store/server/coverage.xml
flags: server
name: server-coverage
fail_ci_if_error: false

47 changes: 47 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Node modules
augment-store/client/node_modules/
node_modules/

# Uploaded media files (images, etc.)
augment-store/server/augment-store/*.jpg
augment-store/server/augment-store/*.jpeg
augment-store/server/augment-store/*.png
augment-store/server/augment-store/*.gif
augment-store/server/augment-store/*.webp

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
*.egg-info/
dist/
build/

# Django
*.log
db.sqlite3
db.sqlite3-journal
/media/
/static/

# Development/testing scripts
augment-store/server/generate_dummy_product.py

# Environment variables
.env
.env.local
.env.*.local

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
**/.DS_Store
Thumbs.db
Loading
Loading