Skip to content

tan-xianglong/asp-net-blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blog

Overview

This is a portfolio project showcasing a blog that is built on both MVC and REST API designs. The whole application is built using ASP.NET Core 5.0 with MS SQL as the persistant database. It also has Create, Read, Update and Delete features.

To demonstrate the working knowledge of MVC and API designs, the front end and back end of the blog are split into 2 projects. The front end is design with ASP.NET Core MVC Web App. The MVC Web App then consume data from ASP.NET Core 5 REST API. The designs follow the onion architecture with separation of concerns and inversion of control principles in mind.

Unit testing is implemented on both MVC and API. The comment feature of the blog were added using Test Driven Development (TDD) approach.

Languages

  • C#
  • HTML
  • CSS
  • JavaScript

Frameworks

  • ASP.NET 5.0 Core
  • JQuery
  • Bootstrap
  • Xunit
  • NSubstitute

Tools

  • Visual Studio 2022
  • MS SQL Server 2019 (LocalDB)
  • Thunder Client

First Look

Homepage & Navbar

  • The homepage shows a list of blog posts that are organised into pages (pagination).
  • The navbar allows users to navigate to various parts of the blog (Posts and Contacts).

Home page

Blog post index and post details

  • The index page allows user to search the blog post titles and posts are organised into pages. User can also create blog posts.
  • The post details page allows user to read, edit and delete the post.
  • User can also post comments and delete it

Blog index page Blog post detail page

Contact Me & Contact List

  • The Contact Me page allows user to leave the contact details in a form
  • The Contact List page allows user to retrieve all contact details in a table and delete them if needed.

Contact Me page Contact list page

Files structure

The solution is organised into 5 different projects and library classes

  1. Blog (MVC Web App)
  2. WebAPI (REST API)
  3. Data (Data related assets - Entities model, Migrations, DbContext, Repositories)
  4. Domain (Utilities and business logic classes)
  5. BlogTest (Unit Testing)

Please note that Data and Domain library classes are separated from the projects so that the assets can be shared between the projects without affecting each other if one project is being retired.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors