{"id":15487327,"url":"https://github.com/rickstrahl/westwind.webstore","last_synced_at":"2025-04-22T16:33:39.908Z","repository":{"id":152433522,"uuid":"539616326","full_name":"RickStrahl/Westwind.Webstore","owner":"RickStrahl","description":"West Wind Web Store Sample application","archived":false,"fork":false,"pushed_at":"2025-02-15T19:05:52.000Z","size":17999,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-22T16:30:17.081Z","etag":null,"topics":["asp-net-core","dotnet","sample-application"],"latest_commit_sha":null,"homepage":"https://store.west-wind.com","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/RickStrahl.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":"2022-09-21T17:49:55.000Z","updated_at":"2025-02-15T19:05:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"1dd4b3b2-e066-4451-8585-7e16f69d2dee","html_url":"https://github.com/RickStrahl/Westwind.Webstore","commit_stats":{"total_commits":167,"total_committers":2,"mean_commits":83.5,"dds":0.005988023952095856,"last_synced_commit":"8cee6bfacdc151330a68cf779f2971a3407fc7c7"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickStrahl%2FWestwind.Webstore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickStrahl%2FWestwind.Webstore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickStrahl%2FWestwind.Webstore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RickStrahl%2FWestwind.Webstore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RickStrahl","download_url":"https://codeload.github.com/RickStrahl/Westwind.Webstore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250277320,"owners_count":21404028,"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":["asp-net-core","dotnet","sample-application"],"created_at":"2024-10-02T06:22:14.319Z","updated_at":"2025-04-22T16:33:39.872Z","avatar_url":"https://github.com/RickStrahl.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# West Wind Web Store \n\n## Getting Started\n\n* [Configuration Settings](#configuration-settings)\n* [Migrations](#applying-migrations)\n\n\n\n\n\n### Configuration Settings\nConfiguration is based on a series of configuration files/settings that use a static base file, augmented by standard ASP.NET Configuration customization.\n\nNone of the configuration files are part of the GIT repository so they will need to be created or generated.\n\n* **_webstore-configuration.json for Base Settings**  \nThis is the base configuration file that is **not checked into source control and not published to the server**. \n\n* **ASP.NET Core Settings Override: appsetting.json, Environment, Command Line etc.**  \nOn top of the base configuration file you can **override** or **replace** these existing settings in any of the ASP.NET default configurations. To so use the base `WebStore` key. \n\n\n#### _webstore-configuration.json\nThis file is not installed by default but can be written out from Administration settings or manually created to use as a base container for settings. The settings here reflect the base settings that are read before any other settings from the ASP.NET settings are applied. Think of the settings in this file as the base that can be overwritten for specific deployment/run scenarios.\n\nThe base configuration looks like this and maps the structure of the `WebStoreConfiguration` object which is accessed in the application via `wsApp.Configuration`  or via DI.\n\n```json\n{\n  \"ApplicationCompany\": \"West Wind Technologies\",\n  \"ApplicationDomain\": \"my-domain.com\",\n  \"ApplicationHomeUrl\": \"https://store.my-domain.com/\",\n  \"ApplicationName\": \"West Wind Web Store\",\n  \"ConnectionString\": \"server=.;database=WestwindWebStore;integrated security=yes;encrypt=false;\",\n  \"ProductImageUploadFilePath\": \"wwwroot\\\\images\\\\product-images\\\\\",\n  \"ProductImageWebPath\": \"/images/product-images/\",\n  \"Theme\": \"default\",\n  \"TitleBottom\": \"Web Store\",\n  \"TitleTop\": \"West Wind\",\n  \"DefaultCountryCode\": \"US\",\n  \"CurrencySymbol\": \"$\",\n  \"Email\": {\n    \"AdminSenderEmail\": \"admin@my-domain.com\",\n    \"MailServer\": \"smtp.mail-server.net:587\",\n    \"MailServerUsername\": \"webstore@my-domain.com\",\n    \"MailServerPassword\": \"mortalMistake#4\",\n    \"SenderEmail\": \"sales@my-domain.com\",\n    \"SenderName\": \"Bigshot Company\",\n    \"UseSsl\": true,\n    \"CcList\": \"admin@my-domain.com\",\n    \"AdminCcList\": \"admin@my-domain.com\",\n    \"SendAdminEmails\": true\n  },\n  \"Payment\": {\n    \"MerchantId\": \"\",\n    \"PublicKey\": \"m\",\n    \"PrivateKey\": \"\",\n    \"MerchantPassword\": \"\",\n    \"TestMode\": true,\n    \"ProcessCardsOnline\": true,\n    \"DefaultCardProcessType\": \"Sale\",\n    \"ProcessConnectionTimeoutSeconds\": 20,\n    \"LogFile\": \"logs\\\\cclog.txt\",\n    \"ReferingOrderUrl\": null,\n    \"ClearCardInfoAfterApproval\": true,\n    \"TaxState\": \"HI\",\n    \"TaxRate\": 0.04,\n    \"TransactionHtmlLink\": \"https://www.braintreegateway.com/merchants/{1}/transactions/{0}\"\n  },\n  \"Company\": {\n    \"ReportCompanyLogoImage\": \"/images/WestWindLogo.png\",\n    \"CompanyName\": \"Bigshot Company\",\n    \"Address\": \"Boulder, CO 33121\\nUSA\",\n    \"Telephone\": \"\",\n    \"Email\": \"sales@my-domain.com\",\n    \"WebSite\": \"my-domain.com\"\n  },\n  \"Licensing\": {\n    \"IsLicensingEnabled\": true,\n    \"ServerUrl\": \"https://licensing.my-domain.com\",\n    \"Username\": \"licenseuser\",\n    \"Password\": \"FrizzleFry#1\"\n  },\n  \"Security\": {\n    \"ValidateEmailAddresses\": true,\n    \"UseOrderFormRecaptcha\": true,\n    \"GoogleRecaptureSecret\": \"\",\n    \"GoogleRecaptureSiteKey\": \",\n    \"UseOrderFormTimeout\": false,\n    \"OrderFormMinimumSecondsTimeout\": 10,\n    \"OrderFormMaximumMinutesTimeout\": 15\n  },\n  \"System\": {\n    \"LiveReloadEnabled\": true,\n    \"RedirectToHttps\": false,\n    \"ErrorDisplayMode\": \"Application\",\n    \"CookieTimeoutDays\": 1\n  }\n}\n```\n\n\u003e #### Configuration File does not install from Git\n\u003e Since this file is custom for each installation we don't distribute this file through Git meaning you won't see this file initially in your installation. When you run the application for the first time, the store will try to write out this file from the initial default settings as `_webstore-configuration.json` in your application's root folder.\n\u003e\n\u003e You can also write out the file **with current running settings** from the Administration page by **View/Edit Configuration settings -\u003e Write Configuration Settings** (requires that the app can start however)\n\n\nThis file is meant to be customized at the running site. This file can be auto-generated from current settings by saving in Admin or when starting up for the first time (assuming app has file write permissions in the start folder).\n\n#### ASP.NET Configuration for Overrides\nOn top of the base configuration, you can then override settings via the standard ASP.NET configuration mechanisms in `appsettings`, Environment, Commandline, User Secrets etc. via the `WebStore` base key in the configuration.\n\nThe store does not ship `appsettings.json` or `appsettings.Development.json` in order to avoid overwriting local customization settings, but here is what those files look like with a few overrides:\n\n\n**appsettings.json**\n\n```json\n{\n  \"Logging\": {\n    \"LogLevel\": {\n      \"Default\": \"Warning\",\n      \"Microsoft\": \"Warning\",\n      \"Microsoft.Hosting.Lifetime\": \"Warning\"\n    }\n  },\n  \"AllowedHosts\": \"*\",\n  \"WebStore\": {\n    \"ApplicationHomeUrl\": \"https://local.my-domain.west-wind.com/\",\n    \"System\": {\n      \"LiveReloadEnabled\": false,\n      \"RedirectToHttps\": true,\n      \"ErrorDisplayMode\": \"Application\"\n    }\n  }\n}\n```\n\n**appsettings.Development.json**\n\n```json\n{\n  \"Logging\": {\n    \"LogLevel\": {\n      \"Default\": \"Information\",\n      \"Microsoft\": \"Information\",\n      \"Microsoft.Hosting.Lifetime\": \"Warning\"\n    }\n  },\n  \"AllowedHosts\": \"*\",\n  \"WebStore\": {\n    \"ConnectionString\": \"server=local.my-domain;database=WestwindWebStore;integrated security=yes;encrypt=false;\",\n    \"ApplicationHomeUrl\": \"https://local.my-domain.west-wind.com/\",\n    \"System\": {\n      \"LiveReloadEnabled\": true,\n      \"RedirectToHttps\": false,\n      \"ErrorDisplayMode\": \"Developer\"\n    }\n  }\n}\n```\n\n## Initial Database Creation\n\n\n\n### Applying Migrations\nThe Web Store comes with a migration framework that allows you to attempt to bring an existing database up to date. As long as \n\nMigrations live in the `Westwind.WebStore.Business` project and are best run from there.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickstrahl%2Fwestwind.webstore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frickstrahl%2Fwestwind.webstore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickstrahl%2Fwestwind.webstore/lists"}