Northwind is a simple MVC application with CRUD operations for working with Products and Categories designed on a Clean Architecture.
▶️ Starting the project
The following developer tools are recommended for running the project:
- IDE Visual Studio 2019 Community
- MS SQL Server Express 2019
- Microsoft SQL Server Managment Studio 18
- Git Bash for Windows
-
Download and install MS Visual Studio. When you install VS 2019 Community make sure you select “ASP.NET and web development” package.
Please follow the link for more information -
Download and install MS SQL Server Express. Guide
-
Download and install SQL Server Express LocalDB. Guide
-
Download and install Git Bash for windows with default installation settings.
-
Open Git Bash and set-up your name and e-mail by using next commands:
git config --global user.name <your full name> git config --global user.email <your email>
-
Open Git console, push and select the path where the project will be located by using the command:
cd /d <your full path>
-
Clone this repository by using the command:
git clone https://github.com/Srul1k/Northwind.git
-
Open the query that you can find in the res folder using Microsoft SQL Server Managment Studio 18.
-
Enter in the server name:
(localdb)\mssqllocaldb
-
Execute the query.
Please follow the link for more information -
Open the
appsettings.Development.json
file that is located on this path:src/Northwind.Web
- Configure AzureAD section if you want to log in with a Microsoft account (optional).
Please follow the link for more information - Configure the EmailService section by entering an e-mail and password. Make sure that the permission to use third-party services is set in your mail service. Passwords for recovery will be sent to users via this mail (optional, it is recommended to use Gmail).
Please follow the link for more information - Configure the AdminInitializer section by entering an e-mail and password. This data will be used to log in as administrator.
- Configure AzureAD section if you want to log in with a Microsoft account (optional).
- Open the file
Northwind.sln
in the root directory using MS Visual Studio. - Select
Northwind.Web
as a start-up project. - Click on the run button (CTRL + F5). Please note, the first running can be long.
- Enjoy! ✨
ℹ️ Common Information
-
Northwind.Domain part contains POCO classes of entities used in the application.
-
Northwind.Application part contains business application logic. Almost all of data and process functions are managed with services.
-
Northwind.Infrastructure part contains all project repositories and application context as well as working with third-party services. Repositories allow the application to manage database. Application context links all entities with each other. Services help to send mails and initialize database.
-
Northwind.Web part contains all program controllers, views, viewModels, viewComponents. Controllers link the business logic and the visual part of the application (Views). Also using ASP.NET Core Identity and controller attributes implemented authentication and authorization.
If you have any good tips on the code or architecture of the application, please contact me and share it 💜