{"id":22551751,"url":"https://github.com/lfost42/blog","last_synced_at":"2025-10-25T03:02:48.880Z","repository":{"id":112831745,"uuid":"481787854","full_name":"lfost42/blog","owner":"lfost42","description":"A knowledge base for .NET(C#) coding and web development articles. Implements role and identity-based access, Gmail SMTP services, and password validation using regular expression.","archived":false,"fork":false,"pushed_at":"2022-10-11T01:28:20.000Z","size":26474,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T10:42:44.211Z","etag":null,"topics":["api-rest","aspdotnetcore","aspdotnetmvc","custom-routing","front-end-development","identity-access-management","jwt-authentication","modals","oauth2-authentication","regex","role-based-access-control","smtp-server"],"latest_commit_sha":null,"homepage":"","language":"C#","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/lfost42.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-04-15T00:26:33.000Z","updated_at":"2023-06-01T16:09:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"5058e8e8-acf0-4955-9dc8-96224a31f228","html_url":"https://github.com/lfost42/blog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lfost42%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lfost42%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lfost42%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lfost42%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lfost42","download_url":"https://codeload.github.com/lfost42/blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246009072,"owners_count":20708881,"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-rest","aspdotnetcore","aspdotnetmvc","custom-routing","front-end-development","identity-access-management","jwt-authentication","modals","oauth2-authentication","regex","role-based-access-control","smtp-server"],"created_at":"2024-12-07T17:14:11.810Z","updated_at":"2025-10-25T03:02:48.794Z","avatar_url":"https://github.com/lfost42.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# .NET Blog\r\nA knowledge base for .NET(C#) coding and web development articles. Uses Entity Framework Core and deployed with a \r\n\r\ngreSQL database.  Implements role and identity-based access, custom routing, front-end layouts, and password validation using regular expression.\r\n\r\nMy code-centric blog articles and tutorials - http://lfost42-blog.herokuapp.com/\r\n\r\nSummary Info\r\n\r\n![My App](./app.png)\r\n\r\n## WALKTHROUGH\r\nA blog that allows the owner to articles upon being authenticated via login. Users may leave comments after registering and being authenticated. Tags help filter articles by topic. \r\n\r\n- Series\r\n- Articles\r\n- Comments\r\n- Tags\r\n\r\n## OPEN REQUIREMENTS\r\n\r\nMVP:\r\nOwner can create series and write articles under a series.\r\n\r\nCOMPLETED FEATURES:\r\n- Add role-based access\r\n- add image service\r\n- Add email service for registration and contact me form\r\n- Implement tags \r\n- Slug service (alternate routes for accessing articles instead of primary keys)\r\n- Visitors may add comments after registering and logging in. \r\n- Locate comments by guest\r\n- Add role-based views\r\n- user can click tags to find other articles with that tag\r\n- Implement Series as a nav bar in shared _layout with searcher\r\n- Article cards for landing page\r\n\t- featured article with photo, series, title, and summary (links to article)\r\n\t- 2nd-5th most recent articles below featured article at half size\r\n- Series index\r\n\t- featured article with photo series, title, and summary (links to article)\r\n\t- 2nd-5th most recent articles below featured article at half size\r\n- Article page\r\n\t- Series\r\n\t- Title\r\n\t- Summary\r\n\t- AuthorImage Author\r\n\t- Article Image\r\n\t- Article Body\r\n\t- Article Modals for comments\r\n- create modals for editing comments\r\n- implement front-end styling in HTML and CSS. \r\n- reroute series pages to link to an index of articles within that series instead of a series detail page\r\n- add sharing links options to Facebook, twitter, linkedin, and reddit\r\n- configure social previews\r\n- Hide comments by default, show using comments button\r\n\r\nFUTURE UPDATES:\r\n- Add most used tags, number of times used, and link to tag index page (to home)\r\n- Extend slug service to Series\r\n- create modals for editing series titles/descriptions/pictures\r\n- Add a method to reply to comments\r\n- Add a like button\r\n- Implement VH scaling for media views\r\n- create demo role and account that can leave anonymous comments and not modify them. \r\n- Hover series to display carousel of articles within that series\r\n\r\n## USER INTERFACE\r\nDashboard shows series and recent articles. Side-menu to older articles. Search function. Login for writing articles or comments. \r\n\r\n## LOGIC DESIGN\r\nIdentity Access, owner creates articles\r\nRole Based Security, authenticated visitors may leave comments\r\n\r\n## DATA DESIGN\r\n- Blog Series\r\n- Blog Article\r\n- Blog Tag\r\n- Blog Comment\r\n- Photos\r\n\r\n-- Users--\r\n- Photo\r\n- Contact Links\r\n- Collection\u003cArticles\r\n- Collection\u003cComments\r\n\r\n--Blog--\r\n- Name\r\n- Description\r\n- Date Created\r\n- Date Updated\r\n- fk_Image\r\n- fk_Creator\r\n-Collection\u003cArticles\r\n\r\n--Comment--\r\n- Subject\r\n- Comment\r\n- Date Created\r\n- Date Updated\r\n- Date Deleted\r\n- fk_Article\r\n- fk_creator\r\n\r\n--File--\r\n- IFormFile (Image)\r\n- PhotoName\r\n- PhotoExtension\r\n- PhotoData\r\n- DateUploaded\r\n\r\n--Article--\r\n- Title\r\n- Summary\r\n- Body\r\n- Status\r\n- Date Created\r\n- Date Updated\r\n- Slug\r\n- Photo\r\n- fk_series\r\n- fk_creator\r\n- Collection\u003cTags\r\n- Collection\u003cComments\r\n\r\n--Tag--\r\n- Tag\r\n- fk_article\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flfost42%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flfost42%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flfost42%2Fblog/lists"}