You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhance README and NuGet documentation, update Makefile paths
Updated the README.md to improve clarity and organization, including a new section for features and enhanced instructions for building the template. Adjusted the Makefile to reflect the correct paths for the WebApi project and Docker Compose configurations. Updated references to MySQL and MSSQL in documentation for consistency.
Genocs .NET Web API Microservice Template is a starting point for your next `.NET9 Clean Architecture Project` that incorporates the most essential packages and features your projects will ever need including out of the box Multi-Tenancy support.
67
67
68
68
> As the name suggests, this is an API / Server Template. You can find other Client Template that consume this API under `@genocs` handle.
-:white_check_mark: Advanced User & Role Based Permission Management
165
-
-:white_check_mark: Code Analysis & StyleCop Integration with Rulesets
166
-
-:white_check_mark: JSON Based Localization with Caching
167
-
-:white_check_mark: Hangfire Support - Secured Dashboard
168
-
-:white_check_mark: File Storage Service
169
-
-:white_check_mark: Test Projects
170
-
-:white_check_mark: JWT & Azure AD Authentication
171
-
-:white_check_mark: MediatR - CQRS
172
-
-:white_check_mark: SignalR Notifications
173
-
-:white_check_mark: MassTransit Integration
174
-
-:white_check_mark: & Much More
147
+
-:white_check_mark: Built on [.NET 9](https://dotnet.microsoft.com/en-us/) with Clean Architecture layering (Domain, Application, Infrastructure, WebApi).
148
+
-:white_check_mark: Domain-driven design with CQRS (MediatR), Mapster mappings, FluentValidation, and specification support.
149
+
-:white_check_mark: Multi-tenancy powered by [Finbuckle](https://www.finbuckle.com/) with tenant management APIs, shared/per-tenant databases, and subscription upgrades.
150
+
-:white_check_mark: Database providers for PostgreSQL, SQL Server, MySQL, Oracle, and SQLite via Entity Framework Core 9.
151
+
-:white_check_mark: Optimized read path with integrated [Dapper](https://www.learndapper.com/) repository alongside EF Core.
152
+
-:white_check_mark: Background job processing through Hangfire with dashboard support and multi-provider storage.
153
+
-:white_check_mark: Observability with Serilog (console, file, Seq, Elasticsearch, AWS), structured logging, and auditing pipeline.
154
+
-:white_check_mark: Distributed caching abstractions with StackExchange Redis and per-tenant cache segregation.
155
+
-:white_check_mark: Authentication via JWT bearer tokens and Azure AD, plus fine-grained permission-based authorization.
156
+
-:white_check_mark: Localization using OrchardCore PO files, configurable cultures, and UI-ready resource catalogs.
157
+
-:white_check_mark: OpenAPI/NSwag integration for client generation, versioned APIs, and security schemas.
Here's how you would create a Solution using the Genocs .NET WebAPI Template.
256
247
257
-
Simply navigate to a new directory (wherever you want to place your new solution), and open up *bash prompt* at the opened directory.
248
+
Simply navigate to a new directory (wherever you want to place your new solution), and open up _bash prompt_ at the opened directory.
258
249
259
250
Run the following command. Note that, in this demonstration, I am naming my new solution as `CompanyName.ProjectName.ServiceName`.
260
251
@@ -284,11 +275,9 @@ You would probably need to take this approach if you want to keep your source co
284
275
285
276
For step by step instructions, follow: [this](https://discord.com/channels/878181478972928011/892573122186838046/933513103688224838) and [this](https://gist.github.com/0xjac/85097472043b697ab57ba1b1c7530274).
286
277
287
-
288
278
### Run the template
289
279
290
-
Makefile
291
-
-------------------
280
+
## Makefile
292
281
293
282
So, for a better developer experience, I have added Makefile into the solution. Now that our solution is generated, let's navigate to the root folder of the solution and open up a command terminal.
294
283
@@ -307,17 +296,17 @@ make start
307
296
That's it, the application would connect to the defined postgresql database and start creating tables, and seed required data.
308
297
309
298
For testing this API, we have 3 options:
299
+
310
300
1. Swagger @ `localhost:5001/swagger`
311
301
2. Postman collections are available `./postman`
312
302
3. ThunderClient for VSCode. You will have to install the [Thunderclient](https://www.thunderclient.com/) extension for VSCode.
313
303
314
304
The default credentials to this API is:
315
305
316
-
317
306
```json
318
307
{
319
-
"email":"admin@root.com",
320
-
"password":"123Pa$$word!"
308
+
"email":"admin@root.com",
309
+
"password":"123Pa$$word!"
321
310
}
322
311
```
323
312
@@ -380,12 +369,12 @@ This project also comes with examples of docker compose files, where you can spi
380
369
381
370
```bash
382
371
#docker compose up - Boots up the webapi & postgresql container
383
-
make dcu
372
+
make dcu
384
373
#docker compose down - Shuts down the webapi & postgresql containers
385
-
make dcd
374
+
make dcd
386
375
```
387
376
388
-
There are also examples for mysql & mssql variations. You can find the other docker-compose files under the ./docker-compose folder. Read more about docker-compose instructions & files here [docker-compose](./docker-compose/README.md).
377
+
There are also examples for MySQL & MSSQL variations. You can find the compose files under the `./infrastructure` folder. Read more about the compose scenarios in [infrastructure/docker/README.md](./infrastructure/docker/README.md).
389
378
390
379
## Cloud Deployment with Terraform + AWS ECS
391
380
@@ -397,6 +386,7 @@ We do support cloud deployment to AWS using terraform. The terraform files are a
397
386
- Install & Configure AWS CLI profiles to allow terraform to provision resources for you. Please see this video about [AWS Credentials Management](https://www.youtube.com/watch?v=oY0-1mj4oCo&ab_channel=MukeshMurugan).
398
387
399
388
In brief, the terraform folder has 2 sub-folders:
389
+
400
390
- backend
401
391
- environments/staging
402
392
@@ -416,6 +406,7 @@ terraform init
416
406
```
417
407
418
408
Once done, you can go the terraform.tfvars file to change the variables like:
409
+
419
410
- project tags
420
411
- docker image name
421
412
- ecs cluster name and so on.
@@ -434,28 +425,13 @@ To destroy the deployed resources, run the following
434
425
make td
435
426
```
436
427
437
-
## How to build the template
438
-
439
-
Check nuget is installed on your machine. To download nuget, visit [nuget.org](https://www.nuget.org/downloads)
440
-
441
-
- Download the nuget latest version. At the time of writing this, the latest version is nuget.exe v6.7.0
442
-
- Add the nuget.exe to your PATH environment variable.
Has this Project helped you learn something New? or Helped you at work?
@@ -486,7 +460,6 @@ Here are a few ways by which you can support.
486
460
- 🦸 Do consider endorsing me on LinkedIn for ASP.NET Core - [Connect via LinkedIn](https://www.linkedin.com/in/giovanni-emanuele-nocco-b31a5169/)
487
461
- ☕ If you want to support this project in the long run, consider [buying me a coffee](https://www.buymeacoffee.com/genocs)!
488
462
489
-
490
463
[](https://www.buymeacoffee.com/genocs)
Copy file name to clipboardExpand all lines: src/README_NUGET.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -255,7 +255,7 @@ make dcu
255
255
make dcd
256
256
```
257
257
258
-
There are also examples for mysql & mssql variations. You can find the other docker-compose files under the ./docker-compose folder. Read more about docker-compose instructions & files here [docker-compose](./docker-compose/README.md).
258
+
There are also examples for MySQL & MSSQL variations. You can find the compose files under the `./infrastructure` folder. Read more about the compose scenarios in [infrastructure/docker/README.md](./infrastructure/docker/README.md).
0 commit comments