{"id":22852056,"url":"https://github.com/chamal1120/ecommerceplatform","last_synced_at":"2026-01-31T03:01:54.538Z","repository":{"id":266960544,"uuid":"899879231","full_name":"Chamal1120/ECommercePlatform","owner":"Chamal1120","description":"A repo for Advanced Software Design (CCS3313) module of University","archived":false,"fork":false,"pushed_at":"2024-12-08T09:45:53.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-28T09:47:13.194Z","etag":null,"topics":["git","uml-diagram"],"latest_commit_sha":null,"homepage":"","language":null,"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/Chamal1120.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":"2024-12-07T09:03:26.000Z","updated_at":"2024-12-13T11:21:42.000Z","dependencies_parsed_at":"2025-05-07T05:36:39.976Z","dependency_job_id":null,"html_url":"https://github.com/Chamal1120/ECommercePlatform","commit_stats":null,"previous_names":["chamal1120/ecommerceplatform"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Chamal1120/ECommercePlatform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chamal1120%2FECommercePlatform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chamal1120%2FECommercePlatform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chamal1120%2FECommercePlatform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chamal1120%2FECommercePlatform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chamal1120","download_url":"https://codeload.github.com/Chamal1120/ECommercePlatform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chamal1120%2FECommercePlatform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28927769,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T02:59:34.861Z","status":"ssl_error","status_checked_at":"2026-01-31T02:59:05.369Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["git","uml-diagram"],"created_at":"2024-12-13T06:07:02.402Z","updated_at":"2026-01-31T03:01:54.524Z","avatar_url":"https://github.com/Chamal1120.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"## UML Class Diagram for a E-Commerce Platform\n\n### Overview\n\nThis class diagram models the core components of our e-commerce platform, including user authentication, product management, order handling, payments, and shipping.\n\n### Key Entities\n\n##### 1. User:\n\nRepresents the authentication layer.\nHandles login/logout functionality.\nLinks to a Customer entity to manage personal and order-related information.\n\n##### 2. Customer:\n\nRepresents a user who can place orders.\nStores personal details such as name, email, address, and phone.\nCan place multiple orders.\n\n##### 3. Product:\n\nRepresents items available for purchase.\nTracks product details such as name, description, price, and stockQuantity.\nIncludes methods for retrieving product details and updating stock after purchases.\n\n##### 4. Order:\n\nRepresents a purchase made by a customer.\nContains information about the order's ID, date, status, and total amount.\nLinks to OrderItem, Payment, and Shipping entities.\n\n##### 5. OrderItem:\n\nRepresents individual items within an order.\nTracks quantity and price for each product in the order.\nIncludes a method to calculate the subtotal for the item.\n\n##### 6. Payment:\n\nHandles payment details for an order.\nTracks the paymentId, payment method, amount, and status.\nIncludes a method to process payments.\n\n##### 7. ShippingInfo:\n\nTracks shipping details for an order.\nAttributes include the shippingId, address, trackingId, and status.\nProvides a method to update shipping status.\n\n### Relationships\n\n1. User ↔ Customer: A User represents login credentials, while Customer represents the associated personal information and order history.\n2. Customer ↔ Order: A customer can place multiple orders (1-to-many relationship).\n3. Order ↔ OrderItem: Each order can have multiple items (1-to-many relationship).\n4. Order ↔ Payment: Each order is associated with one payment (1-to-1 relationship).\n5. Order ↔ Shipping: Each order has a single shipping entry (1-to-1 relationship).\n\n### Key Functionalities\n\n#### User Login/Logout:\n\nA User logs in to access the platform and perform operations like placing orders.\nThe logout() method ends the session.\n\n#### Product Management:\n\nProducts have a stock quantity that can be updated when purchased.\nDetails of products can be retrieved with the getDetails() method.\n\n#### Order Management:\n\nOrders include a list of items (OrderItem) and link to their payment and shipping details.\nThe total cost of an order is calculated using calculateTotal().\n\n#### Payment Processing:\n\nPayments for orders are processed through the Payment entity.\nIncludes status tracking for successful or failed payments.\n\n#### Shipping Tracking:\n\nShipping details such as address, tracking ID, and current status are managed.\nThe status can be updated dynamically.\n\n### Diagram Multiplicities\n\n1. User ↔ Customer: 1-to-1\n2. Customer ↔ Order: 1-to-many\n3. Order ↔ OrderItem: 1-to-many\n4. Order ↔ Payment: 1-to-1\n5. Order ↔ Shipping: 1-to-1\n\n### Contributors\n\n1. Chamal Randika Mallawaarachchi - 22ug1-0093\n2. P.D. Imesh Madhuranga - 22ug1-0612\n3. Deshan Weerasinghe - 22ug1-0134\n4. P D P N Nimsara Peiris - 22ug1-0627\n5. Ashen Mendis - 22ug1-0118\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchamal1120%2Fecommerceplatform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchamal1120%2Fecommerceplatform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchamal1120%2Fecommerceplatform/lists"}