{"id":18273286,"url":"https://github.com/rperez-rosario/xo","last_synced_at":"2026-04-08T14:03:21.902Z","repository":{"id":247496351,"uuid":"652344851","full_name":"rperez-rosario/XO","owner":"rperez-rosario","description":"An e-commerce web application built using SQL Server, EF, ASP. NET Core MVC, C#, Javascript and an assortment of other libraries and web services.","archived":false,"fork":false,"pushed_at":"2024-07-15T19:19:31.000Z","size":55260,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T06:41:37.546Z","etag":null,"topics":["aspdotnet-core","bingmaps-api","chartjs","csharp","datatables","ecommerce-website","efcore","googlemaps-api","javascript","mvc5","razor","sendgrid-api","shipengine-api","sqlserver","stripe","stripe-api","taxjar-api"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/rperez-rosario.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}},"created_at":"2023-06-11T21:09:33.000Z","updated_at":"2024-12-25T15:20:14.000Z","dependencies_parsed_at":"2024-07-15T23:35:33.348Z","dependency_job_id":null,"html_url":"https://github.com/rperez-rosario/XO","commit_stats":null,"previous_names":["rperez-rosario/xo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rperez-rosario%2FXO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rperez-rosario%2FXO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rperez-rosario%2FXO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rperez-rosario%2FXO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rperez-rosario","download_url":"https://codeload.github.com/rperez-rosario/XO/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243383031,"owners_count":20282068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["aspdotnet-core","bingmaps-api","chartjs","csharp","datatables","ecommerce-website","efcore","googlemaps-api","javascript","mvc5","razor","sendgrid-api","shipengine-api","sqlserver","stripe","stripe-api","taxjar-api"],"created_at":"2024-11-05T12:05:54.548Z","updated_at":"2025-12-28T14:22:31.487Z","avatar_url":"https://github.com/rperez-rosario.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction \r\nAn e-commerce web application built using SQL Server, EF, ASP. NET Core MVC, C#, Javascript and an assortment of other libraries and web services.\r\n\r\nData Entity Relationship Diagram\r\n\u003cimg width=\"2003\" alt=\"XO Skin Web Commerce App ER Diagram\" src=\"https://github.com/rperez-rosario/XO/assets/24212098/d28323fe-9f93-4088-b1fe-fd4ee1752e6e\"\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\nApplication Class Diagram\r\n\u003cimg width=\"1825\" alt=\"XOSkinWebApp Dependency Graph\" src=\"https://github.com/rperez-rosario/XO/assets/24212098/ad4adbdc-24ef-464a-90ea-638d1bc0ea97\"\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"Web Interface\" src=\"https://github.com/user-attachments/assets/1022fc50-d842-496d-b6ff-882c4598fdc9\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/ece3a66d-f8fe-4a0f-a9fd-cd0a10a6085f\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/8cd20b74-adfc-49af-8cd0-c5ea8c24fe71\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/364723a4-684b-4f72-8302-0364a6417b63\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/dcebac46-b37d-46da-9484-514d79dc31e7\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/06caa437-24a5-48b3-aaba-ebe957f6a212\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/fba851ed-b3d7-4b53-9955-e9d7cdfbe6d7\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/305d157f-66da-4e3c-8dc9-8743721b051e\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/0e85340c-9a91-4e12-887e-31a068c4fbc1\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/7ae93b51-4f99-43ba-af52-80783727bdb0\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/6644f6b5-f572-4fbc-b26e-bae81a1a8c15\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/39b097af-46c0-44c1-a167-7c60e723ea34\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/b99f8a96-84a7-48f8-9a7a-bef30dd81611\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/1fab3194-95dc-4845-9468-30ed5d468ec0\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/8b86fd4e-dbd5-45ae-9152-e89225bd512e\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/13558880-e858-417f-8de1-6e8c40e5cb63\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/0492a70e-ccda-45e7-8dd5-0bdd1cbc1ff5\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/4974ad35-2521-424a-9bbc-ad553e1d1bca\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/87ad2b3d-0ec8-4e18-8828-9d3fe6cc112a\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/38f4db1a-a1a8-4d55-94e5-635077fe50e4\" /\u003e\r\n\u003cbr/\u003e\u003cbr/\u003e\r\n\u003cimg width=\"836\" alt=\"image\" src=\"https://github.com/user-attachments/assets/557e94b3-5d42-406d-9f9f-6b87c3c4fc43\" /\u003e\r\n\r\n\r\n# Getting Started\r\n1.\tInstallation process:\r\n\r\n(See \"Build and Test\" section of this document.)\r\n\r\n2.\tSoftware dependencies:\r\n\r\n\u003cul\u003e\r\n\u003cli\u003eASP.NET Core 5.0 MVC\u003c/li\u003e\r\n\u003cli\u003eEntity Framework Core\u003c/li\u003e\r\n\u003cli\u003eC#\u003c/li\u003e\r\n\u003cli\u003eJavascript\u003c/li\u003e\r\n\u003cli\u003eJQuery\u003c/li\u003e\r\n\u003cli\u003eBootstrap\u003c/li\u003e\r\n\u003cli\u003eDataTables\u003c/li\u003e\r\n\u003cli\u003eRazor\u003c/li\u003e\r\n\u003cli\u003eShipEngine Web API\u003c/li\u003e\r\n\u003cli\u003eTaxJar Web API\u003c/li\u003e\r\n\u003cli\u003eShopify Web API\u003c/li\u003e\r\n\u003cli\u003eSendGrid Web API\u003c/li\u003e\r\n\u003cli\u003eStripe Payment Gateway Web API\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n3.\tWeb API, languages and technology stack references:\r\n\r\n\u003cul\u003e\r\n\u003cli\u003ehttps://docs.microsoft.com/en-us/dotnet/csharp/\u003c/li\u003e\r\n\u003cli\u003ehttps://docs.microsoft.com/en-us/ef/\u003c/li\u003e\r\n\u003cli\u003ehttps://getbootstrap.com/\u003c/li\u003e\r\n\u003cli\u003ehttps://www.javascript.com/\u003c/li\u003e\r\n\u003cli\u003ehttps://jquery.com/\u003c/li\u003e\r\n\u003cli\u003ehttps://datatables.net/\u003c/li\u003e\r\n\u003cli\u003ehttps://dotnet.microsoft.com/apps/aspnet/mvc\u003c/li\u003e\r\n\u003cli\u003ehttps://www.microsoft.com/en-us/sql-server/sql-server-2019\u003c/li\u003e\r\n\u003cli\u003ehttps://www.iis.net/\u003c/li\u003e\r\n\u003cli\u003ehttps://azure.microsoft.com/en-us/\u003c/li\u003e\r\n\u003cli\u003ehttps://www.shipengine.com/docs/getting-started/\u003c/li\u003e\r\n\u003cli\u003ehttps://www.taxjar.com/product/api\u003c/li\u003e\r\n\u003cli\u003ehttps://shopify.dev/api\u003c/li\u003e\r\n\u003cli\u003ehttps://stripe.com/docs/api\u003c/li\u003e\r\n\u003cli\u003ehttps://docs.sendgrid.com/\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n# Build and Test\r\n1. Create and configure a private application within the target Shopify store.\r\n2. Configure additional external services (ShipEngine, SendGrid, TaxJar and Stripe.) \r\n3. Extract and deploy current .dacpac to SQL Server. Configure security, and business-domain \r\nentities as needed.\r\n4. Web or folder deploy to IIS or Azure Cloud App (.NET Core 5.0 application pool), \r\nconfigure appsettings.json as needed.\r\n5. Access using a web browser or build and execute Visual Studio solution.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frperez-rosario%2Fxo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frperez-rosario%2Fxo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frperez-rosario%2Fxo/lists"}