{"id":23888355,"url":"https://github.com/blazingapple/survey","last_synced_at":"2025-04-10T04:53:13.723Z","repository":{"id":56058754,"uuid":"316582912","full_name":"BlazingApple/Survey","owner":"BlazingApple","description":"Survey Components and Service for Blazor WASM Application Consumption","archived":false,"fork":false,"pushed_at":"2023-03-22T04:17:04.000Z","size":2405,"stargazers_count":1,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T06:04:44.812Z","etag":null,"topics":["blazor","surveys","webassembly"],"latest_commit_sha":null,"homepage":"https://blazorsimplesurvey.azurewebsites.net/displaysurvey","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BlazingApple.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-27T19:21:24.000Z","updated_at":"2024-03-22T11:47:54.000Z","dependencies_parsed_at":"2022-08-15T12:20:44.270Z","dependency_job_id":null,"html_url":"https://github.com/BlazingApple/Survey","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlazingApple%2FSurvey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlazingApple%2FSurvey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlazingApple%2FSurvey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlazingApple%2FSurvey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlazingApple","download_url":"https://codeload.github.com/BlazingApple/Survey/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161260,"owners_count":21057553,"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":["blazor","surveys","webassembly"],"created_at":"2025-01-04T08:47:06.632Z","updated_at":"2025-04-10T04:53:13.690Z","avatar_url":"https://github.com/BlazingApple.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BlazingApple.Survey :apple:\n\n:fire:  A totally copacetic, easy-to-use front-end Blazor Survey package.\nThis front-end Razor Class Library is intended to be used by Blazor WASM projects, and targets .NET 5.\n\n## About BlazingApples\nBlazingApples is an open-source set of packages that aims to speed application development for Blazor WebAssembly organizations.\n\n:zap: Check out the [demo site here](https://blazorsimplesurvey.azurewebsites.net/displaysurvey), [or this blog post on how the components work](https://blazorhelpwebsite.com/ViewBlogPost/44)!\n\n:clap: Special thanks to [ADefWebServer](https://github.com/ADefWebserver/BlazorSimpleSurvey/commits?author=ADefWebserver) for creating the [BlazorSimpleSurvey](https://github.com/ADefWebserver/BlazorSimpleSurvey) demo application which this is based off of.\n\n# Demo :video_camera:\n  \u003cimg alt=\"Demo of BlazingApple.Survey\" src=\"https://github.com/BlazingApple/Survey/blob/main/README/BlazingApplesDemo.gif?raw=true\" style=\"max-width:1000px;\"\u003e\n\n# Installation :wrench:\n\n## 1. Get the required dependencies.\n\n1. On Client Project, right click and get to the NuGet Package Manager (\"Manage NuGetPackages\").\n2. Install `BlazingApple.Survey`\n\u003cimg alt=\"Survey Administration\" src=\"https://github.com/BlazingApple/Survey/blob/main/README/InstallBlazingApplePackage.png?raw=true\" style=\"max-width:1000px;\"\u003e\n\n3. Add the following to `Program.cs's Main`:\n```\n\t\t\tbuilder.Services.AddScoped\u003cDialogService\u003e();\n\t\t\tbuilder.Services.AddScoped\u003cTooltipService\u003e();\n\t\t\tbuilder.Services.AddScoped\u003cNotificationService\u003e();\n\t\t\tbuilder.Services.AddScoped\u003cBlazingApple.SurveyService\u003e();\n```\n\n4. In your `index.html` file, add the required Radzen style and script:\n```\n    \u003clink rel=\"stylesheet\" href=\"_content/Radzen.Blazor/css/default-base.css\"\u003e \u003c!-- this adds a lot of styles we don't want --\u003e\n    \u003cscript src=\"_content/Radzen.Blazor/Radzen.Blazor.js\"\u003e\u003c/script\u003e\n```\n\n## 2. Set up your server's API controller to receive the requests.\nIt is recommended to do this with EntityFrameworkCore to create the tables in my database and receive and process the request. This portion of the setup shows how to do this.\n\n1. In your `Server` project, open `ApplicationDbContext`, add the following tables:\n```\n\t\tusing BlazingApples.Shared;\n\t\t...\n    public DbSet\u003cSurvey\u003e Surveys { get; set; }\n\t\tpublic DbSet\u003cSurveyAnswer\u003e SurveyAnswers { get; set; }\n\t\tpublic DbSet\u003cSurveyItem\u003e SurveyItems { get; set; }\n\t\tpublic DbSet\u003cSurveyItemOption\u003e SurveyItemOptions { get; set; }\n```\n2. Create a `SurveysController.cs` in the `Controllers` directory, use [this controller](https://github.com/BlazingApple/Survey/blob/main/examples/BlazingAppleConsumer.Survey/Server/Controllers/SurveysController.cs) as the controller.\n\n3. In the `Package Manager Console`, enter the following commands:\n\u003cimg alt=\"Survey Administration\" src=\"https://github.com/BlazingApple/Survey/blob/main/README/Package%20Manager%20Console.png?raw=true\" style=\"max-width:750px;\"\u003e\n```\nAdd-Migration AddSurveyData\nUpdate-Database\n```\nNow you should be all set to use the components.\n\n# Usage :muscle:\n\nOnce the (admittedly rather involved) setup is complete, using the components is straightforward:\n\n1. In a component, add the `\u003cDisplaySurvey\u003e\u003c/DisplaySurvey\u003e` component to show surveys to a user. If no survey is provided, this component will download all the active surveys from the server and give the user options to take them.\n2. Use the `\u003cSurveyAdmin\u003e\u003c/SurveyAdmin\u003e` component in a page in which you'd like to enable users to create or modify surveys.\n3. Step 3\n\n## Credits :white_flower:\n\n- Build with love :blue_heart:, using [Radzen's Component Library](https://razor.radzen.com/) and [ADefWebServer](https://github.com/ADefWebserver/BlazorSimpleSurvey/commits?author=ADefWebserver)'s [BlazorSimpleSurvey](https://github.com/ADefWebserver/BlazorSimpleSurvey) as a starting point.\n\n## Authors :pencil:\n\n1. [Taylor White](https://twitter.com/taychasewhite)\n\n## License :scroll:\n\n![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)\n\n- **[GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)**\n\n## Home Page :camera:\n\u003cimg alt=\"Survey Administration\" src=\"https://github.com/BlazingApple/Survey/blob/main/README/SurveyAdmin.png?raw=true\" style=\"max-width:1000px;\"\u003e\n\n## Taking Surveys :camera:\n\u003cimg alt=\"Taking a Survey\" src=\"https://github.com/BlazingApple/Survey/blob/main/README/Taking%20a%20Survey.png?raw=true\" style=\"max-width:1000px;\"\u003e\n\n## Monitoring Responses :camera:\n\u003cimg alt=\"Survey Responses\" src=\"https://github.com/BlazingApple/Survey/blob/main/README/SurveyResults.png?raw=true\" style=\"max-width:1000px;\"\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblazingapple%2Fsurvey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblazingapple%2Fsurvey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblazingapple%2Fsurvey/lists"}