- What is .NET?
- Where can I ask for help?
- Solving the most common problems found to solve
- CRUD System
- Handling Background Jobs
- Creating an API
- RESTful - Web API
- Schedule Background Jobs
- Hangfire
- Building a Front-End to consume your API - *your choice
- MVC
- ASP.NET
- JS Libraries (Coming Soon!)
In this section, we will start building projects to allow Pezza to manage their stock and a front-end website where customers can order their favourite pizza online.
Restaurant staff should be able to manage the stock through a web application as well as manage their different restaurants. Customers should be able to order a pizza online, this order should be visible to the selected restaurant. The customer should also be notified that their pizza is on its way. We will start solving these business requirements by doing the following:
-
Create a CRUD System in .Net MVC Project to manage stock and restaurants. Allow restaurants to place a request for stock from head-office.
-
Expose your Stock Management through an API using .Net Web API that will be used by the front-end application.
-
Allow for customer notifications to be sent out.
-
Create a Customer Facing Website in your choice of Front-End Library.
We will be starting off with how to make a basic project and refactoring it into a solution following the single responsibility principle and how to set up a basic clean code architecture. This setup format will be used throughout the incubator.
Overview
We will be extending the foundation from Phase 1 to all Entities CRUD operations, we will also be moving to use CQRS Pattern and Mediatr NuGet Package.
Overview
Now that we have deployed phase 2, we can make a few enhancements. Also, it will be easier for the customer and admin to search and filter through the data, so we will add that in as well.
Overview
Improve how data is displayed and validated
- Fluent Validation
- Filtering
- Searching
- Pagination
When we work as part of a team, we usually need to adhere to coding standards. Let's have a look at how we can enforce some of the most basic standards and adding error handling.
Overview
-
Coding Standards
To improve performance we introduce caching and compression. Caching is useful in scenarios where we retrieve data that does not change very often. Response compression usually increases the responsiveness of an app in cases where the client supports it. Overview
Increasing Performance
- Caching
- Compression
We would like to notify the customer as soon as his order has been completed and ready for collection.
Increasing Performance
- Domain Events
- Simple Email Notification
- Schedule Background Jobs
- Hangfire
Overview
We will be building a basic Pizza website for Customers and a basic Admin Back-End. To help us do this we will use the Pezza Branding Guide & Design System.
Pezza Website
- Plain HTML
- AngularJS - Coming Soon
- ReactJS - Coming Soon
Pezza Admin Back-End
- MVC - Click here to get started
- AngularJS - Coming Soon
- ReactJS - Coming Soon
Now that we have increased the performance lets and an increase of customers we need to secure our website.
Overview
Add Security
- API Oauth / JWT Token
- MVC Antiforgy Tokens
We want customers to have the ability to track their orders.
- SignalR