GoldenEye is a Full Stack framework written in .NET Core. The main goal of GoldenEye is to speed up your development process. It gathers most widely used frameworks in .NET world and pack them into a simple bootstrap Nuget packages. It also provide set of base classes, helpers, extensions that will help you with your daily work.
Complete Solution bootstrap - bottom up:
- Entity Framework (supports also Dapper, Marten)
- CRUD Repositories and CRUD Application Services
- WebApi REST controllers
- Authorization with OAuth (Identity Server)
- complete set up of dependency injection with automatic naming convention binding
- AutoMapper preconfigured and automatic mappings registration
- Validation flow with FluentValidation.NET
- Examples of complete usage (Task list functionality)
- CQRS and Domain Driven Development stack - sending and handling commands, queries, events (with usage of MediatR library)
- document database and event store support in Postgres with Marten framework
- many more
Install the project template by running
dotnet new -i GoldenEye.WebApi.Template.SimpleDDD
and then create new project based on it:
dotnet new SimpleDDD -n NameOfYourProject
Or manually add packages to your project, eg:
-
Shared - GoldenEye.Shared.Core
dotnet add package GoldenEye.Shared.Core
-
Backend - GoldenEye.Backend.Core
dotnet add package GoldenEye.Backend.Core
-
Entity Framework - GoldenEye.Backend.Core.EntityFramework
dotnet add package GoldenEye.Backend.Core.EntityFramework
-
WebApi - GoldenEye.Backend.Core.WebApi
dotnet add package GoldenEye.Backend.WebApi
Install packages from the Nuget package manager:
Core packages:
- GoldenEye.Shared.Core - base classes, helpers, extensions that will boost your development
- GoldenEye.Shared.Core.Validation - validation based on FluentValidation.NET
- GoldenEye.Backend.Core - classes suited for the backend development - Repositories, Services, CRUD, mappings, etc.
- GoldenEye.Backend.Core.WebApi - base classes for API development like CRUD controllers, registration helpers, and many more
- GoldenEye.Backend.Core.EntityFramework - extensions to GoldenEye.Backend.Core for EntityFramework development (EF repositories, etc.)
- GoldenEye.Backend.Core.Dapper - extensions to GoldenEye.Backend.Core for Dapper development (Dapper repositories, etc.)
Domain Driven Design package:
- GoldenEye.Backend.Core.DDD - full DDD flow for CQRS, DDD development. Basing on MediatR library gives the Command, Queries, Events handling, routing
Document database and Event Store with Marten package:
- GoldenEye.Backend.Core.Marten - extension to GoldenEye.Backend.Core and GoldenEye.Backend.DDD that gives possibility to use Postgres as Document Database and Event Store - thanks to Marten library
Security related packages (User management, OAuth etc.)
- GoldenEye.Shared.Security - base classes to make security management easier
- GoldenEye.Backend.Identity - helpers and extensions for Backend OAuth management with IdentityServer
- GoldenEye.Frontend.Identity - helpers and extensions for Frontend OAuth management with IdentityServer
Feel free to create an issue on GitHub. Contributions, pull requests are more than welcome!
GoldenEye is Copyright © 2015-2019 Oskar Dudycz and other contributors under the MIT license.