Git Product home page Git Product logo

aurora-api-project-master's Introduction

Aurora-api-project-master

Código analisado durante o curso Desenvolvendo sua aplicação com C# usando DDD oferecido pela Digital Innovation One em parceria com a Avanade

Aurora Project

What is Aurora project?

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

The project's goals is to show that is possible to create an architecture more simple than others and using some concepts like DDD (Design Driven Design).

Business proposal:

This project is a simple PPE (Personal Protective Equipament) 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 allow that you see all PPE and who has a PPE and notify if the PPE is near to expire.

Abbreviations:

  • NIN: National Insurance Number (as CPF in Brazil)

How to use:

  1. Clone this project to into your machine
  2. Use the default connection string or: 2.1. Install and configure MySql, if you want. 2.2. Inform the connection string on Aroura.Infra.Data/Context/MySqlContext.cs, if necessary
    • Put the server name on [SERVER] tag
    • Put the port number on [PORT] tag
    • Put the user name database on [USER] tag
    • Put the password database on [PASSWORD] tag
  3. Finally, build and run the application

MySql Migrations:

  1. Open your Package Manager Console
  2. Change the default project to Aurora.Infra.Data
  3. Run command "Add-Migration [NAME OF YOUR MIGRATION]"
  4. Run command "Update-Database"

For more information about this project, sse this article.

Technologies implemented:

  • ASP.NET Core 3.1 (com .NET Core 3.1)
  • Entity Framework Core 3.1.5
  • Flunt Validation 1.0.5
  • Swagger UI 5.5.0
  • MySql Database Connection
  • .NET Core Native DI
  • SpecFlow for BDD
  • GitHub Actions

Architecture:

  • Layer architecture
  • S.O.L.I.D. principles
  • Clean Code
  • Domain Validations
  • Domain Notifications
  • Domain Driven Design
  • Repository Pattern
  • Notification Pattern
  • Mapper by Extension Methods
  • Value Types
  • BDD (Behavior Driven Development)

Architecture

News:

v1.4 --- 2020-09-28

  • CI/CD by GitHub Actions
  • Include integration tests using BDD with SpecFlow
    • scenario of register a worker
    • scenario of update a worker
  • Bug corrections

v1.3 --- 2020-07-30

  • Changed some Primitive Types to Value Types
  • Changed the business idea principle

v1.2 --- 2020-06-30

  • Implemented Notification Pattern
  • Implemented Domain Validations and Notifications
  • Using some concepts of Clean Architecture
    • Entities
    • Interface Adapters
  • Changed the framework validations to Flunt
  • Using mapper by extension methods

v1.1 --- 2020-06-24

  • Updated the project name
  • Updated the project's SDK to .NET Core 3.1 version
  • Added the Swagger framework to document the API
  • Corrections to end-points
  • Published in Azure

v1.0 --- 2018-06-09

  • Create the project in .NET Core 2.0 version
  • Structured the project on layer architecture
  • Used the Service layer to business rules
  • Used the FluentValidation library
  • Configured the connection to MySql database
  • Used EntityFramework

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.

We're online!

See the project in Azure.

About:

The Aurora project was developed by Alex Alves.

aurora-api-project-master's People

Contributors

cauanyrodrigues01 avatar

Watchers

 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.