{"id":19068428,"url":"https://github.com/bobbylite/dotnet-realmikefacts","last_synced_at":"2025-10-07T12:29:59.726Z","repository":{"id":201114543,"uuid":"707000836","full_name":"bobbylite/dotnet-realmikefacts","owner":"bobbylite","description":"RealMikeFacts is back in dotnet ","archived":false,"fork":false,"pushed_at":"2024-10-03T20:51:41.000Z","size":654,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-02T15:19:04.644Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bobbylite.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null}},"created_at":"2023-10-19T02:57:39.000Z","updated_at":"2023-11-28T02:28:20.000Z","dependencies_parsed_at":"2023-11-02T02:29:51.957Z","dependency_job_id":"196d6d71-eb95-4f6e-8d09-fd15ee76fd44","html_url":"https://github.com/bobbylite/dotnet-realmikefacts","commit_stats":null,"previous_names":["bobbylite/dotnet-realmikefacts"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbylite%2Fdotnet-realmikefacts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbylite%2Fdotnet-realmikefacts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbylite%2Fdotnet-realmikefacts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbylite%2Fdotnet-realmikefacts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bobbylite","download_url":"https://codeload.github.com/bobbylite/dotnet-realmikefacts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240122465,"owners_count":19751139,"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-11-09T01:08:02.347Z","updated_at":"2025-10-07T12:29:54.689Z","avatar_url":"https://github.com/bobbylite.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotnet-realmikefacts\n\nThis repository serves as a IAM demo that leverages OpenAI's training models.\n\n## Technical Deep Dive\n\nThis project was created with Microsoft asp.net 8. More information can be found here: https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-new-sdk-templates#web-options\n\nRealMikeFacts leverages the power of AI with OpenAI's powerfully trained models.  More information can be found here: https://platform.openai.com/\n\n* AI Solution: Open AI\n* IAM Solution: Microsoft AzureAD B2C\n* Hosting Solution: Microsoft Azure web services\n* Database Soluiton: Microsoft Comsos Mongo DB\n\n## App configuration\nEdit `appsettings.json` to customize the behavior of OOTB features.\n```json\n{\n  \"OpenAI\": {\n    \"BaseUrl\": \"https://api.openai.com/\",\n    \"AccessToken\": \"...\",\n    \"MaxTokens\": 250,\n    \"temperature\": 0.7,\n    \"model\": \"...\"\n  },\n  \"Twitter\": {\n    \"BaseUrl\": \"https://api.twitter.com/\",\n    \"ClientId\": \"...\",\n    \"ClientSecret\": \"...\"\n  },\n  \"Logging\": {\n    \"LogLevel\": {\n      \"Default\": \"Information\",\n      \"Microsoft.AspNetCore\": \"Warning\"\n    }\n  },\n  \"AllowedHosts\": \"*\",\n  \"AzureAd\": {\n    \"Instance\": \"https://{domain}.b2clogin.com/\",\n    \"Domain\": \"{domain}.onmicrosoft.com\",\n    \"ClientId\": \"...\",\n    \"TenantId\": \"...\",\n    \"ClientSecret\": \"...\",\n    \"ClientCertificates\": [\n    ],\n    \"SignUpSignInPolicyId\": \"{name_of_policy_flow}\",\n    \"CallbackPath\": \"/signin-oidc\"\n  },\n  \"Authorization\": {\n    \"Policies\": {\n      \"Users\": {\n        \"RequiredClaims\": [\n          {\n            \"ClaimType\": \"tfp\",\n            \"AllowedValues\": [\n              \"{name_of_policy_flow}\"\n            ]\n          }\n        ]\n      }\n    }\n  }\n}\n\n```\n\n## How to run project\n```sh\ndotnet build release -c\ndotnet run --launch-profile \"https\"\n```\n\n## How to authorize a new page in the application for a custom group policy.\n```csharp\n[Authorize(Policy = PolicyNames.AdministratorsGroup)] // Must configure group policy in AzureAD B2C tenant.\npublic class AdministratorsModel : PageModel\n{\n    public AdministratorsModel()\n    {\n    }\n\n    public void OnGet()\n    {\n    }\n}\n```\n\n## Documentation\n\nThe following documentation is available in this repository.\n\n* `README.md` - the steps for configuring the application.\n\n## RealMikeFacts Live\n\nPlease check out RealMikeFacts at https://realmikefacts.azurewebsites.net\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobbylite%2Fdotnet-realmikefacts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbobbylite%2Fdotnet-realmikefacts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobbylite%2Fdotnet-realmikefacts/lists"}