{"id":24227588,"url":"https://github.com/kei-k23/dotnet-blog-system-api","last_synced_at":"2026-04-06T08:31:40.958Z","repository":{"id":272093861,"uuid":"915512231","full_name":"Kei-K23/dotnet-blog-system-api","owner":"Kei-K23","description":"The Blog System API provides user authentication and authorization functionalities, including JWT-based authentication, refresh token management, and CRUD operations for users, blogs, comments, advanced-filter and high performance searching contents","archived":false,"fork":false,"pushed_at":"2025-01-14T13:16:57.000Z","size":32,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T06:14:35.922Z","etag":null,"topics":["api","dotnet","dotnet-core","entity-framework-core","jwt","postgres","scalar"],"latest_commit_sha":null,"homepage":"","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/Kei-K23.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-12T03:21:10.000Z","updated_at":"2025-01-19T10:10:03.000Z","dependencies_parsed_at":"2025-01-12T04:21:50.052Z","dependency_job_id":"ec8457dc-5dd1-4a6d-8272-a3dbc7c5b4fc","html_url":"https://github.com/Kei-K23/dotnet-blog-system-api","commit_stats":null,"previous_names":["kei-k23/dotnet-blog-system-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Fdotnet-blog-system-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Fdotnet-blog-system-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Fdotnet-blog-system-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kei-K23%2Fdotnet-blog-system-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kei-K23","download_url":"https://codeload.github.com/Kei-K23/dotnet-blog-system-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241794137,"owners_count":20021192,"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":["api","dotnet","dotnet-core","entity-framework-core","jwt","postgres","scalar"],"created_at":"2025-01-14T10:18:20.220Z","updated_at":"2025-12-31T01:03:32.579Z","avatar_url":"https://github.com/Kei-K23.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blog System API\n\nThe **Blog System API** provides user authentication and authorization functionalities, including JWT-based authentication, refresh token management, and CRUD operations for users, blogs, comments, advanced-filter and high performance searching contents.\n\n## Features\n\n- **User Authentication**: Login using username and password with hashed passwords.\n- **JWT Authorization**: Secure access to protected routes with JSON Web Tokens.\n- **Refresh Token Management**: Token refresh mechanism for seamless session management.\n- **CRUD Operations**: Manage blog posts, users, comments, tags, etc.\n- **Advanced Filter and Searching**: Manage filter and search the content with high performance.\n\n## Technologies Used\n\n- **.NET 9**\n- **Entity Framework Core**\n- **Postgres**\n- **BCrypt**\n- **Scalar**\n\n## Installation\n\n1. **Clone the repository**:\n\n   ```bash\n   git clone https://github.com/your-username/dotnet-blog-system-api.git\n   cd blog-system-api\n   ```\n\n2. **Configure the database**:\n\n   - Update the connection string in `appsettings.json`:\n\n     ```json\n     \"ConnectionStrings\": {\n       \"DefaultConnection\": \"Server=your-server;Database=BlogSystemDb;User Id=your-username;Password=your-password;\"\n     },\n     \"Jwt\": {\n        \"Key\": \"YourSuperSecretKey\",\n        \"Issuer\": \"YourIssuer\",\n        \"Audience\": \"YourAudience\"\n     }\n     ```\n\n3. **Run migrations**:\n\n   ```bash\n   dotnet ef migrations add Init\n   dotnet ef database update\n   ```\n\n4. **Run the application**:\n\n   ```bash\n   dotnet run\n   ```\n\n5. **Access the API**:\n   - API documentation: `http://localhost:5086/scalar/v1`.\n\n## Environment Variables\n\nThe API uses environment variables to configure sensitive information. Create an `.env` file with the following variables:\n\n```env\nJWT__Key=YourSuperSecretKey\nJWT__Issuer=YourIssuer\nJWT__Audience=YourAudience\nConnectionStrings__DefaultConnection=Server=your-server;Database=BlogSystemDb;User Id=your-username;Password=your-password;\n```\n\n## Security\n\n1. **Password Hashing**:\n\n   - Passwords are hashed using `BCrypt` for security.\n\n2. **JWT Tokens**:\n\n   - Tokens are signed with a secret key stored in the environment variables.\n\n3. **Refresh Tokens**:\n   - Stored securely in the database and linked to users.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\n1. Fork the repository.\n2. Create a new branch:\n   ```bash\n   git checkout -b feature/your-feature\n   ```\n3. Commit your changes:\n   ```bash\n   git commit -m \"Add your feature\"\n   ```\n4. Push to your branch:\n   ```bash\n   git push origin feature/your-feature\n   ```\n5. Open a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkei-k23%2Fdotnet-blog-system-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkei-k23%2Fdotnet-blog-system-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkei-k23%2Fdotnet-blog-system-api/lists"}