Building an Enterprise Application with ASP.NET Core MVC
For those with basic OOP knowledge & new ASP.NET Core, this course will use a project-based approach to teach ASP.NET Core full-stack web application development, Using the latest .net core SDK as of the time of production.
".NET Core is an open-source, general-purpose development platform maintained by Microsoft and the .NET community on GitHub. It's cross-platform (supporting Windows, macOS, and Linux) and can be used to build a device, cloud, and IoT applications." - Microsoft.
In this course, we will be developing a web-based, modular Enterprise Payroll Software using the popular ASP.NET Core Framework. We will use a multi-layered architecture, and it will be hosted on Azure Cloud.
The goal is to achieve a clean Separation Of Concern, separating responsibilities will help us to minimise coupling and maximise cohesion, which makes our application easy to maintain.
- Presentation Layer: We will use this layer for all the User-Oriented functionality that is required to manage the user's interaction with the system. Our MVC components Model(ViewModel in this case),
- Entity Layer: In this layer we will create our POCO class and Enums which will represent the data of this application, in other words, the properties of the entity class will represent the information that is stored in our SQL Server data store, it will be used primarily to load data from and to save data to the database.
- Services Layer: This layer will contain our Interfaces and their Implementations (core functionalities). These Services will be used to expose the business functionality to the Controllers of our application using the built-in Dependency Injection (DI).
- Persistence Layer: This layer will contain any file(s) that is used to communicate between the application and the database, such as, DbContext class, Migration files, Data Seeding classes, etc.
Project Technology Stack & Tools used:
- C# Programming language
- .NET Core 2.2 SDK
- Entity Framework Core 2.2.0
- Visual Studio 2019
- Bootstrap 4
- SQL Server, Server Management Studio
- GIT Version Control System (VCS), Version 2.22.0
- RotativaCore (NuGet Library for PDF)
- Cmder (Console Emulator for Windows)
- Azure Cloud Portal
I am an Agile Certified (awarded by DSDM Consortium) Software Engineer and a passionate instructor.
As a progressive-learner, I have successfully earned two academic degrees: BSc (Hons) Computer Sc.(1st Class) awarded by Plymouth University, UK & MSc Software Engineering(Commendation) awarded by Kingston University, UK).
I have 1.5 decades of IT experience, ranging from Field Support IT Engineer to enterprise-level Software Engineering. Ever since, I have been exposed to numerous enterprise Software development using Microsoft technology stack such as Visual C#, Visual C++, Microsoft SQL Server, ASP.NET MVC, WCF, LINQ, Entity Framework, etc. I also embrace open-source technologies while developing modern Web-based applications.
I genuinely enjoy sharing my knowledge with others and that drives my motivation towards teaching.
Outside the IT world, I enjoy reading and exploring the fundamental nature of reality.