{"id":19068427,"url":"https://github.com/bobbylite/dotnet-onlybalds","last_synced_at":"2026-02-14T08:31:36.931Z","repository":{"id":234978295,"uuid":"789848018","full_name":"bobbylite/dotnet-onlybalds","owner":"bobbylite","description":"OnlyBlads platform built with dotnet Blazor and Web Apis. Authenticated and authorized with Auth0 iDp","archived":false,"fork":false,"pushed_at":"2025-12-25T18:35:03.000Z","size":7840,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-27T05:44:16.112Z","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":"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":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-21T18:04:20.000Z","updated_at":"2025-11-14T05:07:36.000Z","dependencies_parsed_at":"2024-06-09T21:28:03.353Z","dependency_job_id":"b3b8884e-6353-4d69-aa52-480ef8aff26f","html_url":"https://github.com/bobbylite/dotnet-onlybalds","commit_stats":null,"previous_names":["bobbylite/dotnet-onlybalds"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bobbylite/dotnet-onlybalds","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbylite%2Fdotnet-onlybalds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbylite%2Fdotnet-onlybalds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbylite%2Fdotnet-onlybalds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbylite%2Fdotnet-onlybalds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bobbylite","download_url":"https://codeload.github.com/bobbylite/dotnet-onlybalds/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobbylite%2Fdotnet-onlybalds/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29440320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T07:24:13.446Z","status":"ssl_error","status_checked_at":"2026-02-14T07:23:58.969Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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:07:58.448Z","updated_at":"2026-02-14T08:31:36.918Z","avatar_url":"https://github.com/bobbylite.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# OnlyBalds :bald_man:\n\n![.NET](https://img.shields.io/badge/.NET-5C2D91?style=for-the-badge\u0026logo=.net\u0026logoColor=white)\n![Blazor](https://img.shields.io/badge/Blazor-512BD4?style=for-the-badge\u0026logo=blazor\u0026logoColor=white)\n![API](https://img.shields.io/badge/API-3C873A?style=for-the-badge\u0026logo=api\u0026logoColor=white)\n\nOnlyBalds is a Blazor application with a dedicated Web API for backend operations. It's designed to provide a seamless user experience for our bald community.\n\n## :file_folder: Projects\n\nThe solution contains three projects:\n\n1. **Blazor Server**: This project handles the server-side rendering of the Blazor application.\n2. **Blazor Client**: This project is responsible for the client-side logic and UI of the Blazor application.\n3. **Web API**: This project provides the backend for frontend (BFF) implementations, serving as the bridge between the Blazor application and the database.\n\n## :books: Entity Framework with Npgsql for PostgreSQL\n\nOnlyBalds uses **Entity Framework Core** with **Npgsql** to interface with a PostgreSQL database, ensuring efficient data handling and easy integration.\n\n### Database Migrations\n\n1. Create a migration:\n   ```bash\n   dotnet ef migrations add MigrationName\n   ```\n2. Apply the migration:\n   ```bash\n   dotnet ef database update\n   ```\n\nThis approach leverages the repository pattern and multiple DbContexts (e.g., `ThreadDataContext`, `PostDataContext`, `CommentDataContext`) to organize and handle data effectively.\n\n---\n\n## :heart: Health Checks\n\nThe application includes health check support to monitor service health. Access health information at `/HealthChecks`:\n\n- **/HealthChecks**: Displays the application's current health status.\n\n---\n\n## :wrench: Build Information\n\nBuild information is automatically generated at each build and accessible at the `/build-info.html` endpoint. This page provides key details like:\n\n- Build date and time\n- Commit hash\n- Build version\n\n---\n\n## 🤖 Hugging Face API Integration\n\nOnlyBalds integrates with the **Hugging Face Inference API** to enhance chat room moderation using AI models:\n\n- **Toxic BERT**: Identifies potentially toxic messages to maintain a respectful environment.\n- **Twitter Sentiment**: Analyzes sentiment to ensure positive interactions within the chat.\n\n---\n\n## :rocket: Getting Started\n\nTo get started with the OnlyBalds application, follow these steps:\n\n1. Clone the repository: `git clone https://github.com/bobbylite/OnlyBalds.git`\n2. Navigate to the project directory: `cd OnlyBalds`\n3. Restore the packages: `dotnet restore`\n4. Run the application: `dotnet run`\n\n## :computer: Running the Project Locally\n\nTo run the OnlyBalds application locally, follow these steps:\n\n### Step 1: Run the BFF Backend\n\nFirst, you need to run the Backend for Frontend (BFF) which is the Web API project. This project handles the backend operations and serves as the bridge between the Blazor application and the database.\n\n1. Open a terminal or command prompt.\n2. Navigate to the project directory: `cd OnlyBalds`\n3. Run the BFF backend with the following command:\n```sh\ndotnet run --project OnlyBalds.Api --launch-profile https\n```\n\n### Step 2: Run the Client Application\n\nTo run the OnlyBalds client application:\n\n1. Create a launch profile in the properties directory.\n2. Use VS Code's debug section to run the profile created in the previous steps.\n\n## :gear: Built With\n\n- [.NET 8](https://dotnet.microsoft.com/en-us/)\n- [Blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor)\n- [.NET Core Web API](https://dotnet.microsoft.com/en-us/apps/aspnet/apis)\n- [Auth0](https://auth0.com/)\n\n---\n\n## :handshake: Contributing\n\nContributions, issues, and feature requests are welcome! Feel free to check [issues page](https://github.com/bobbylite/OnlyBalds/issues).\n\n## :memo: License\n\nThis project is [MIT](https://choosealicense.com/licenses/mit/) licensed.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobbylite%2Fdotnet-onlybalds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbobbylite%2Fdotnet-onlybalds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobbylite%2Fdotnet-onlybalds/lists"}