Skip to content

Commit

Permalink
Merge pull request #17 from EISK/net-6.0-develop
Browse files Browse the repository at this point in the history
Net 6.0 develop
  • Loading branch information
AshrafAlam authored Apr 25, 2022
2 parents 60d77be + 0eba7a8 commit 9b84639
Show file tree
Hide file tree
Showing 12 changed files with 107 additions and 53 deletions.
6 changes: 4 additions & 2 deletions Eisk.WebApi.TemplatePack.sln
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
build\dnn-install-from-remote.cmd = build\dnn-install-from-remote.cmd
build\git-bash-echo.sh = build\git-bash-echo.sh
build\git-push.sh = build\git-push.sh
README.md = README.md
.template.config\template.json = .template.config\template.json
.template.config\template.vstemplate = .template.config\template.vstemplate
EndProjectSection
Expand Down Expand Up @@ -52,10 +53,11 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Notes", "Notes", "{ACEB7D4D-4789-49F0-A552-3D7C0A419FB9}"
ProjectSection(SolutionItems) = preProject
Notes\Business-Rules.txt = Notes\Business-Rules.txt
Notes\Dev-Set-up.txt = Notes\Dev-Set-up.txt
Notes\Eisk-Features.txt = Notes\Eisk-Features.txt
Notes\Entity-Samples.txt = Notes\Entity-Samples.txt
Notes\Modules.txt = Notes\Modules.txt
Notes\Notes.txt = Notes\Notes.txt
Notes\Release-Instructions.txt = Notes\Release-Instructions.txt
Notes\Set-up.txt = Notes\Set-up.txt
Notes\Test-Strategy.txt = Notes\Test-Strategy.txt
Notes\TODO.txt = Notes\TODO.txt
Notes\Troubleshoot.txt = Notes\Troubleshoot.txt
Expand Down
2 changes: 1 addition & 1 deletion Eisk.WebApi.TemplatePack/source.extension.vsixmanifest
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="87026DB0-F8B8-4737-93EB-4FB56898C434" Version="9.0.5" Language="en-US" Publisher="Ashraf Alam" />
<Identity Id="87026DB0-F8B8-4737-93EB-4FB56898C434" Version="9.0.7" Language="en-US" Publisher="Ashraf Alam" />
<DisplayName>Eisk.WebApi</DisplayName>
<Description xml:space="preserve">Project template with simple CRUD to get started ASP.NET Web Api quickly.</Description>
</Metadata>
Expand Down
2 changes: 1 addition & 1 deletion Eisk.WebApi.TemplatePack/template/Eisk.WebApi.proj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<PropertyGroup Label="TemplatePackInfo">
<Authors>Ashraf Alam</Authors>
<Description>Project template with simple CRUD to get started ASP.NET Web Api quickly.</Description>
<Version>9.0.5</Version>
<Version>9.0.7</Version>
</PropertyGroup>

<PropertyGroup Label="PackageConfiguration">
Expand Down
3 changes: 2 additions & 1 deletion Notes/Business-Rules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
Business Rules
========================================================
* Single Field Level (Property)
* Required
* Length
* Regular Expression (phone, email)
* Single Field Level (Logic)
Expand All @@ -14,4 +15,4 @@ Business Rules
* DB Check on Foreign Key Table
* An employee can have atmost 10 reports
========================================================


2 changes: 1 addition & 1 deletion Notes/Set-up.txt → Notes/Dev-Set-up.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@ ASP.NET / Web Server

* Turn off development mode for ASP.NET

========================================================
========================================================
6 changes: 6 additions & 0 deletions Notes/Template-Features.txt → Notes/Eisk-Features.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
User Stories

* To be added

Project Features

* Web API base classes with supported in-memory web tests
* Swagger support
* Exception handling classes and filters
Expand Down
7 changes: 7 additions & 0 deletions Notes/Entity-Samples.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ View Model (With out Base Classes)
* With out base classes, editor + view model, no custom rules
* With out base classes, editor + view model, with custom rules

Search, Filtering, Sortng, Paging

* Search
* Filtering
* Paging
* Sorting

Multiple Entities

* 1:m
Expand Down
57 changes: 47 additions & 10 deletions Notes/Modules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,9 @@ Web API Layer
* gRPC - gRPC
* GraphAPI - Graph API

Process Layer
* Process.AzureWebJob
* Process.AzureLogicApp
* ServerLess.AzureFunction (Scheduler) (default)
* ServerLess.AWSLambda

Domain Layer
* DDD (default)
* Clean Architecture (default)
* DDD
* CQRS

Data Service Layer Interface
Expand All @@ -33,9 +28,6 @@ Data Access Layer
Data Storage (in-memory)
* Memory: EF In-memory (default)
* Memory: SQLLite In-memory
* Memory: SQL Server In-memory
* Memory: Couchbase In-memory
* Memory: Redis

Data Storage
* RDBMS: SQL Server (default)
Expand All @@ -46,6 +38,51 @@ Data Storage
* Graph database: Neo4J
* Columnar database: Cassandra

===========================================
Cross Cutting Concerns and Services

Authentication
* Azure AD B2C
* Azure AD
* Identity Server
* ASP.NET Identity
* Auth0

Logging
* Log4Net
* SeriLog
* Azure Insight

Caching
* Redis
* Couchbase
* SQL Server In-memory

Search
* Azure Search

Backgeound Process
* Process.AzureWebJob
* Process.AzureLogicApp
* ServerLess.AzureFunction (Scheduler) (default)
* ServerLess.AWSLambda

Messagging
* Azure Storage Queue
* Azure Service Bus
* AWS Simple Queue Service

Hosting
* Azure App Services
* AWS
* Docker
* Kubernetes

DevOps
* AzureDevOps
* Github Actions
* Vercel

========================================================
Repo Modules and Dependencies

Expand Down
47 changes: 23 additions & 24 deletions Notes/Release-Instructions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,35 @@ Eisk.WebApi
========================================================
Release A New Version

Release Prep
* Update version in code and package
* Build the project in CI

Releasing the Web Site
* Staging - Web site will be deployed automatically
* Prod - Web site will be deployed automatically if staging is successful
Releasing the Web Site (semi-manual)
* Release will be created automatically
* Staging - will be deployed automatically
* Prod - Web site needs to be deployed manually

Releasing in Nuget
* Trigger the DevOps manually (as nuget releases immutable i.e. can't be updated once created)
Releasing in git repo (semi-manual)
* Release will be created automatically
* Cd will deploy the changes in version branch automatically
* Version branch needs to be merged manually

Releasing in Github Release
* Create tag in github
* Update version in DevOps release
* Template repo project readme.md will be included automatically in the release notes.
* Respective release as menionted in DevOps rlease will be updated automatically when master branch changed.

========================================================
Release Instructions
Releasing in Nuget (semi-manual)
* Release will be created automatically
* Release needs to be deployed by manual trigger (as nuget releases immutable i.e. canreleasepdated once created)

CD Contains the following
Releasing to VS Gallery (semi-manual)
* Release will be created automatically
* Deploy need to be triggered manually

Staging (Web/github)
* Web to Azure
* Github Release (edit) - for draft, no need to create tags

Prod (Web/github/Nuget)
* Web to Azure
* Github Release (add) - for non-draft, only published once or create tag manually
* Github Release (edit)
* Published to nuget gallery
Releasing in Github Release (manual)
* ** Merge the repo master branch (mentioned above) **
* Create tag in github
* Update version in DevOps release
* Release needs be created manually as master branch is merged
* Trigger deploy manually
* Template repo project readme.md will be included automatically in the release notes.
* Respective release as menionted in DevOps rlease will be updated automatically when master branch changed.

========================================================

6 changes: 4 additions & 2 deletions Notes/TODO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ TODO:

Fix CI (Remote)

R * Rename eisk.webapi.template to eisk.template
* Rename eisk.webapi.template to eisk.template
* Convert generated template CI to Yml

Fix CD (Remote)
Expand Down Expand Up @@ -44,9 +44,11 @@ R * Error handling

Testing

R * Add web tests
* Employee web tests
* Web test base class
* Set db fixture with assesbmly set-up
* Sql server integration tests: load from config
* Add web tests
* Create postman based test file (for template only)
* Test post and update methods
* Include ORM tests
Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
[![Build status](https://dev.azure.com/EiskOps/Eisk/_apis/build/status/Eisk-WebApi-TemplatePack-CI)](https://dev.azure.com/EiskOps/Eisk/_build/latest?definitionId=3) [![BuitlWithDot.Net shield](https://builtwithdot.net/project/334/eisk/badge)](https://builtwithdot.net/project/334/eisk)

[![Build status](https://dev.azure.com/EiskOps/Eisk/_apis/build/status/Eisk-WebApi-TemplatePack-CI)](https://dev.azure.com/EiskOps/Eisk/_build/latest?definitionId=3) [![BuitlWithDot.Net shield](https://builtwithdot.net/project/334/eisk/badge)](https://builtwithdot.net/project/334/eisk)

# Getting Started with EISK Web Api

EISK makes it easy to write scalable and secured web api on top of Microsoft's new cutting edge .net core technologies.
Expand All @@ -25,17 +27,15 @@ Here is a simple CRUD use case illustrated in the default template:

### Architecture Overview

* [Onion Arcitecture](https://jeffreypalermo.com/2008/07/the-onion-architecture-part-1/)
* [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)
* [Domain Driven Design (DDD)](https://en.wikipedia.org/wiki/Domain-driven_design)
* Clean Architecture

## Core Technology Areas

* [.NET Framework 6.0](https://devblogs.microsoft.com/dotnet/announcing-net-6/) - The Fastest .NET Yet
* [ASP.NET Core (Web Api)](https://dotnet.microsoft.com/en-us/apps/aspnet/apis)
* [Entity Framework Core](https://docs.microsoft.com/en-us/ef/core/)
* [C# Programming Language](https://docs.microsoft.com/en-us/dotnet/csharp/)
* [Visual Studio](https://visualstudio.microsoft.com/)
* ASP.NET Core (Web Api)
* Entity Framework Core
* C# Programming Language
* Visual Studio

## System Requirements (Development)

Expand Down Expand Up @@ -63,6 +63,6 @@ Next - you can try some hands-on experience by creating your own api on top of y
Utilities and code samples as provided in EISK have intentionally been designed to be self explaining. You may still want to get deeper understanding by exploring the documentations:

* [Live Demo](https://eisk-webapi.azurewebsites.net)
* [Hands-on Walk-through](https://eisk.github.io/eisk.webapi/docs/application-development/handson-walkthrough-create-service-api.html)
* [Logical Layer Architecture](https://eisk.github.io/eisk.webapi/docs/architecture/logical-layers.html)
* [Technology Stack](https://eisk.github.io/eisk.webapi/docs/technical-reference/technology-stack.html)
* [Hands-on Walk-through](https://eisk.github.io/docs/webapi/application-development/handson-walkthrough-create-service-api.html)
* [Logical Layer Architecture](https://eisk.github.io/docs/webapi/architecture/logical-layers.html)
* [Technology Stack](https://eisk.github.io/docs/webapi/technical-reference/technology-stack.html)
2 changes: 1 addition & 1 deletion WebApi/Eisk.WebApi/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
c.SwaggerDoc("v1", new OpenApiInfo
{
Title = "Eisk.WebApi",
Version = "v9.0.6",
Version = "v9.0.7",
Description = "EISK makes it easy to write scalable and secured web api on top of Microsoft's new cutting edge .net core technologies.",
Contact = new OpenApiContact
{
Expand Down

0 comments on commit 9b84639

Please sign in to comment.