Monona is a simple inventory system built on ASP.Net Core, Entity Framework Core, and AutoMapper.
After downloading the project files from Git, these are the steps to get you up and running in Visual Studio:
-
Set Monona.Web as the Startup Project
-
Make a copy of appsettings.sample.json and rename it to appsettings.json. The appsettings.json file is explicitly excluded from source control to prevent accidental upload of sensitive data to public repositories.
-
(optional) Update appsettings.json with any of your preferred settings (e.g. - the database name)
-
Go to the Package Manager Console, select src\Monona.Data as the Default project, then enter the command update-database. This will use Entity Framework migrations to generate the database.
-
Generated css and js files located in wwwroot are excluded from source control. We initially attached bindings to the configuration files so that they fired when the project was open. However, Node Package Manager (npm) would not complete downloading client dependencies before these tasks fired leading to incomplete css and script files. To manually build the generated for the first time:
- Right-click on bundleconfig.json, select Bundler & Minifier, then click Update Bundles
- Right-click on compilerconfig.json, select Web Compiler, then click Re-compile all files
The Monona project is split up into four assemblies:
-
Monona.Core: Contains entities and core functionality such as common extension methods, exception, and pagination.
-
Monona.Data: Contains Entity Framework Core application context, configurations, and migrations.
-
Monona.Services: Contains services used to read, create, update, and delete entities.
-
Monona.Web: The application's user interface.