Git Product home page Git Product logo

alexalvess / aurora-api-project Goto Github PK

View Code? Open in Web Editor NEW
232.0 10.0 75.0 375 KB

Aurora is a project developed in .NET 6, where it aims to show how to create something using an architecture, in layers, simple and approaching, in a simplistic way, some concepts such as DDD.

Home Page: http://aurora-project.azurewebsites.net/swagger/index.html

C# 98.93% Dockerfile 1.07%
netcore csharp-code csharp-core netcore-webapi netcoreapp aspnet-core aspnetcorewebapi api api-rest swagger-ui fluentvalidation ddd-patterns layered-architecture github-actions hexagonal-architecture dotnet6 ddd-architecture domain-driven-design

aurora-api-project's Introduction

What is Aurora project?

It's an open source project, written in .NET, currently in version 6.

The project's goal is to show how can we use the Hexagonal Architecture concepts and using some concepts like DDD to create an API.

Business proposal:

This project is a simple PPE Management. The principle idea is to register workers and PPE and, with this data, allow to transfer PPE to a worker. Besides that, this system allows that you see all the PPE and who has a PPE and notify if the PPE is near to expire.

Abbreviations:

  • NIN: National Insurance Number (as CPF in Brazil)
  • PPE: Personal Protective Equipment
  • DDD: Domain Driven Design

How to use:

  1. Clone this project to into your machine
  2. Run MongoDB container (like on Docker) 2.2. This project using user-secrets, so you need to configure it 2.1. Inform the right connection string in project
  3. Finally, build and run the application

For user-secrets:

dotnet user-secrets set "ConnectionStrings:MongoDb" "[LOCAL_MONGODB_CONNECTIONSTRING]"

Technologies:

  • .NET 7
  • C# previewer
  • MongoDB
  • FluentValidation
  • Swagger
  • .NET Core Native DI
  • Serilog

Architecture:

  • Hexagonal Architecture
  • Domain Validations
  • Domain Notifications
  • Repository Pattern
  • Notification Pattern
  • Value Types
  • Monolith

Principles:

  • Domain Driven Design
  • Clean Code
  • S.O.L.I.D.

Hexagonal Architecture

Design Architectural

Why did I choose this design?

  • It's very easy to include, or exclude, a framework or external library in a separate DLL.
  • The focus is in Core layer. So the business rules/your domain stay very uncoupled of external things.
  • I'm an enthusiast for this Design 😁🤓

Why Aurora?

The name Aurora came from the natural event called Aurora Borealis. It is a scientific event described by the interaction between the earth's magnetic layer and energized particles from the solar wind.

A curiosity about such an event is that what we see in photographs is not always the same image that is seen live.

For more information, look this link.

About:

The Aurora project was developed by Alex Alves.


References:

aurora-api-project's People

Contributors

alexalvess avatar aman-singh-parihar avatar dependabot[bot] avatar fernandovezzali avatar msilvaspa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.