randianb / WebAPILight

WebAPI .Net Core implementation with separate identity service.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Web API Light

There is a my custom template for .Net Core WebAPI solution. I want to create something that I could use for quick start.

Acknowledgments

Well... I want to thank all of this people. I started this project just like an example of Web API, but step-by-step I improve and extend architecture after new info.

Attention

If you believe that this project has infringed any copyrights in any way or just don't want to be mention, please contact me with email kingmidas1992@gmail.com.

Components

  • .WebAPI services - Incoming point
    • .Net Core WebAPI - Basic framework
    • Swagger - It's a very simple in use and informative instrument for documentation your API
  • Business services - Separate class library with example of some "business" logic. In this case I implement next techniques:
  • DataAccess
    • Ef Core - ORM
    • Npgsql - additional package for support PostgreSQL
  • NotificationWorker - example of .Net Core Worker template in action. There is only recieving message from bus and log it.
  • RabbitMQ as bus for connect API and Worker
  • Seq - support structure logging with Serilog
  • Prometheus and Grafana for analytics
  • And some tests of course

Installation

  1. Just clone repository ...
git clone https://github.com/Kingmidas74/WebAPILight.git
  1. check settings in docker-compose.yml

  2. ... and run docker-compose from solution folder.

docker-compose up -d

That's all!

Usage

Services will be available on the next adresses by default.

Service URI
Web API (Angular client) http://localhost:5002
Identity Service http://localhost:5000
RabbitMQ http://localhost:15672
Seq http://localhost:5340
prometheus http://localhost:9090
grafana http://localhost:3000

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

About

WebAPI .Net Core implementation with separate identity service.


Languages

Language:C# 72.3%Language:TypeScript 22.4%Language:HTML 2.6%Language:Dockerfile 1.0%Language:JavaScript 1.0%Language:SCSS 0.7%