{"id":23109069,"url":"https://github.com/robsmitha/merchanttaxapp","last_synced_at":"2025-10-17T23:51:00.055Z","repository":{"id":88552211,"uuid":"389264393","full_name":"robsmitha/MerchantTaxApp","owner":"robsmitha","description":"A demo solution for various merchants to order furniture, gift, home décor, rug, and apparel items with tax calcualtions based on locality.","archived":false,"fork":false,"pushed_at":"2021-07-26T18:13:05.000Z","size":230,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T11:11:54.283Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","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/robsmitha.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":"2021-07-25T04:50:45.000Z","updated_at":"2021-07-26T18:13:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"b46d7a4c-0623-45b2-93fd-07444a97aea8","html_url":"https://github.com/robsmitha/MerchantTaxApp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robsmitha%2FMerchantTaxApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robsmitha%2FMerchantTaxApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robsmitha%2FMerchantTaxApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robsmitha%2FMerchantTaxApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robsmitha","download_url":"https://codeload.github.com/robsmitha/MerchantTaxApp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247092391,"owners_count":20882218,"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":[],"created_at":"2024-12-17T01:32:39.241Z","updated_at":"2025-10-17T23:50:55.010Z","avatar_url":"https://github.com/robsmitha.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MerchantTaxApp\n\nA demo solution for various merchants to order furniture, gift, home décor, rug, and apparel items with tax calcualtions based on locality.\n\n# Tools\n- .NET Core\n- Entity Framework Core\n- VueJS\n- Mediator\n- AutoMapper\n- FluentValiation\n- Xunit, Moq\n- TaxJar\n- ZipTax (alternative tax calculator)\n\n# Overview\n\n## Domain\nContains all entities specific to the domain with no dependencies on any other projects.\n\n## Application\nContains all application logic and a dependency on the domain layer (has no depenedencies to other layer or project).\n- [ITaxCalculator](https://github.com/robsmitha/MerchantTaxApp/blob/master/src/Application/Common/Interfaces/ITaxCalculator.cs)\n- [ITaxService](https://github.com/robsmitha/MerchantTaxApp/blob/master/src/Application/Common/Interfaces/ITaxService.cs)\n- [IMerchantService](https://github.com/robsmitha/MerchantTaxApp/blob/master/src/Application/Common/Interfaces/IMerchantService.cs)\n\n## Infrastructure\nContains classes for accessing external services as defined by interfaces in the application layer.\n- [TaxJarCalculator](https://github.com/robsmitha/MerchantTaxApp/blob/master/src/Infrastructure/Services/TaxJarCalculator.cs)\n- [TaxService](https://github.com/robsmitha/MerchantTaxApp/blob/master/src/Infrastructure/Services/TaxJarCalculator.cs)\n- [MerchantService](https://github.com/robsmitha/MerchantTaxApp/blob/master/src/Infrastructure/Services/TaxJarCalculator.cs)\n- [ZipTaxCalculator](https://github.com/robsmitha/MerchantTaxApp/blob/master/src/Infrastructure/Services/ZipTaxCalculator.cs) (alternative tax calculator)\n\n## Api\nContains api endpoints for accessing application layer logic.\n\n## JavaScript Client\nContains a VueJS single page application with .NET Core backend. \n\n# Getting started\n\n## Install localhost cert (optional)\nNote this is only needed if you want to run client app proxy over https, app will run without it but hot reload won't work on changes made.\n\n1. Clone repo\n2. Replace PATH_TO_REPO_LOCATION in src/JavaScriptClient/setupcert.ps1 for ``$webDir`` with path to your repo\n3. Open PowerShell in Administrator mode\n4. Run ``cd PATH_TO_REPO_LOCATION/MerchantTaxApp/src/JavaScriptClient``\n5. Run ``.\\setupcert.ps1`` to setup localhost cert\n6. Update src/JavaScriptClient/.env.local ``VUE_APP_USE_HTTPS`` to true\n7. Update src/JavaScriptClient/appsettings.Development.json ``Configuration.ClientUrl`` to **https**://localhost:8080\n\n\n\n# Running Project\n## Api\n1. Open new VS Code terminal\n2. Run ``cd src\\Api``\n3. Run ``dotnet build``\n4. Run ``dotnet run``\n\n## JavaScriptClient\n1. Open VS Code terminal \n2. Run ``cd src\\JavaScriptClient``\n3. Run ``yarn``\n4. Run ``yarn serve``\n5. Open new VS Code terminal\n6. Run ``cd src\\JavaScriptClient``\n7. Run ``dotnet build``\n8. Run ``dotnet run``\n\nOpen [JavaScriptClient](https://localhost:5001) in browser","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobsmitha%2Fmerchanttaxapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobsmitha%2Fmerchanttaxapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobsmitha%2Fmerchanttaxapp/lists"}