Giter Club home page Giter Club logo

blog-web-app's Introduction

GeekSpot - Blogging Web App

This is simple blogging web app which allows users to write and publish articles.

You can run this app with just F5 in VS2022 or with dotnet run command. username = dhiraj password = password

Features

  • Landing page
    • Featuring top 4 most viewed popular articles on top showing 1st image from that article.
    • List of all the published articles with its short summary and total views (which updates in realtime), Author name and published date.
    • Recently published 3 articles on the right side which updates in realtime without refreshing user's webpage.
    • Search functionlaity to search published posts by title.
    • Tag cloud - where you can click on a Tag to get all the posts tagged under that tag.
  • Publisher dashboard
    • This is authenticated page user needs to login to get access to this page.
    • Publisher can see list of all the published and unpublished articles on this page.
    • Article views which updates in realtime when some user view that article.
    • Publisher can create and save article without publishing it righaway.
    • Edit and create functinality where user can edit or create new article with fully functional TinyMCE rich text editor.
    • User can publish or unpublish the articles from this dashboard
  • Realtime notification (Make sure you open the app in at least two browser tabs to see realtime notifications in action)
    • When users view the article, view count for that article gets updated in realtime to all the other online users.
    • When publisher publishes new article all the online users gets notification popup in realtime (on right bottom corner of browser).
    • When publisher publishes new article the recent posts section gets updated in realtime for all the online users without refreshing the webpage.

Technical details

  • Written in Asp.Net MVC with .Net 6
  • Used Sqlite local database as data storage with EFCore 6 ORM
  • Used Cookie based authentication to authenticate publisher
  • Used Repository pattern to make code decoupled and testable
  • Added few unit tests using XUnit to makesure controller and repository are testable.
  • Used SignalR for realtime notification features
  • Used TinyMCE WYSIWYG rich text editor
  • Html template used - https://templatemo.com/live/templatemo_551_stand_blog

blog-web-app's People

Contributors

dhirajkhodade avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.