All Projects → alexalvess → Aurora Api Project

alexalvess / Aurora Api Project

Aurora is a project developed in .NET Core, 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.

Projects that are alternatives of or similar to Aurora Api Project

Angular Swagger Ui
An angularJS implementation of Swagger UI
Stars: ✭ 131 (-19.14%)
Mutual labels:  api, swagger-ui, api-rest
Json Serverless
Transform a JSON file into a serverless REST API in AWS cloud
Stars: ✭ 108 (-33.33%)
Mutual labels:  api, swagger-ui
Module Shop Mini Program
一个基于 .NET Core构建的简单、跨平台、模块化的商城系统
Stars: ✭ 89 (-45.06%)
Mutual labels:  entity-framework-core, netcore
L5 Swagger
OpenApi or Swagger integration to Laravel
Stars: ✭ 1,781 (+999.38%)
Mutual labels:  api, swagger-ui
Localization
🌏 Database Resource Localization for .NET Core with Entity Framework and In Memory Cache
Stars: ✭ 68 (-58.02%)
Mutual labels:  entity-framework-core, netcore
Ratp Api Rest
This project turnkey is distributed as a middleware to expose RATP realtime data as REST resources
Stars: ✭ 68 (-58.02%)
Mutual labels:  api, swagger-ui
Typescript Hapi Starter
🚀 Starter for building APIs with Hapi + Typescript!
Stars: ✭ 117 (-27.78%)
Mutual labels:  api, swagger-ui
Fastapi
FastAPI framework, high performance, easy to learn, fast to code, ready for production
Stars: ✭ 39,588 (+24337.04%)
Mutual labels:  api, swagger-ui
Postman Bdd
A BDD test framework for Postman and Newman
Stars: ✭ 139 (-14.2%)
Mutual labels:  api, bdd
Dntidentity
A highly customized sample of the ASP.NET Core Identity
Stars: ✭ 145 (-10.49%)
Mutual labels:  entity-framework-core, aspnet-core
Cucumber Api
API validator in BBD style with Cucumber
Stars: ✭ 50 (-69.14%)
Mutual labels:  api, bdd
Appkernel
API development made easy: a smart Python 3 API framework
Stars: ✭ 152 (-6.17%)
Mutual labels:  api, api-rest
Spyne
A transport agnostic sync/async RPC library that focuses on exposing services with a well-defined API using popular protocols.
Stars: ✭ 992 (+512.35%)
Mutual labels:  api, api-rest
Openapi Viewer
Browse and test a REST API described with the OpenAPI 3.0 Specification
Stars: ✭ 82 (-49.38%)
Mutual labels:  api, swagger-ui
Behapi
Behat extension for those who want to write acceptances tests for apis
Stars: ✭ 29 (-82.1%)
Mutual labels:  api, bdd
Laravel Api Boilerplate
A Boilerplate Project For Laravel API's (NOT MAINTAINED)
Stars: ✭ 113 (-30.25%)
Mutual labels:  api, api-rest
Geochile
Esta es una api de Geocodificación, para que, con las coordenadas Latitud y Longitud se entregue una lista de ciudades cercanas.
Stars: ✭ 13 (-91.98%)
Mutual labels:  api, api-rest
Hoppscotch
👽 Open source API development ecosystem https://hoppscotch.io
Stars: ✭ 34,569 (+21238.89%)
Mutual labels:  api, api-rest
Colore
A powerful C# library for Razer Chroma's SDK
Stars: ✭ 121 (-25.31%)
Mutual labels:  api, netcore
Bicing Api
Get statistics and locations of bicycle stations through REST API
Stars: ✭ 149 (-8.02%)
Mutual labels:  api, bdd

Aurora Project

What is Aurora project?

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

The project's goal is to show that it is possible to create an architecture more simple than others and using some concepts like DDD (Domain-driven Design).

Business proposal:

This project is a simple PPE (Personal Protective Equipment) 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)

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].