Skip to content

About

Distributed Reliable .Net project aims to provide somewhat opinionated design and out of the box solutions to enterprise application development. Expected result is spending less time on wiring while getting better maintainability and observability. The project benefits from the best practices, open source solutions and production experience.

Resources

Code of conduct

Contributing

Security policy

Stars

21 stars

Watchers

4 watching

Forks

Latest commit

 

History

1,273 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DRN-Project

DRN-Project-Argo-CD-GitOps DRN-Project-Pulumi-Ops

master develop Quality Gate Status Docker Hub Nuget

Security Rating Maintainability Rating Reliability Rating Vulnerabilities Bugs Lines of Code Coverage

Semantic Versioning license OpenSSF Best Practices wiki wiki wiki wiki

arXiv Nuget Nuget Nuget Nuget Nuget Activity GitHub Stars

General badge General badge

TL;DR: You can

  • use Nuget packages to easily develop and test distributed reliable dotnet applications.
  • use Argo CD GitOps to easily deploy your apps to a kubernetes cluster with Linkerd service mesh.
  • use Nexus App (not functional yet)
    • for service discovery
    • to get remote settings
    • to get unified microservices topology and their self-documentation
  • get opinionated ideas about soft skills for engineering and management

Please contact me via LinkedIn for information on obtaining a more flexible commercial license

Table of Contents

About Project

Distributed Reliable .Net project aims to provide somewhat opinionated design and out of the box solutions to enterprise application development. Expected result is spending less time on wiring while getting better maintainability and observability. The project benefits from the best practices, open source solutions and personal production experience. This project is about managing software complexity, architecting good solutions and a promise to deliver a good software.

In DRN-Project context, reliability is defined with following characteristics:

  • Secure
  • Observable
  • Maintainable
  • Performance optimized
  • Efficient
  • Scalable
  • Self-documenting

DRN Project is not another framework that will bite the dust. It is more than a simple framework. It is a distilled knowledge that contains:

  • A beautiful framework to work with
  • Management best practices
  • Engineering manifest
  • Reference documents for design, architecture and microservices
  • A nexus app to manage microservices (will be released with v1.0.0)

This project is result of a productive and curious mindset that respects good solutions and best practices of others while enjoys from creating its own. It is not about coding. It is about process of creating and enhancing good things.

Documentation

About Design and Architecture

About Management

Security Management

  • Security is always your most important requirement.
  • Always be defensive and secure by default.
  • Prefer whitelisting over blacklisting. Blacklists can be penetrated.

Task Management

  • Always make a To-Do List.
  • Prioritize tasks - use your insights or MoSCoW prioritization, etc.
  • Warm up - start with one easy task, then focus on the hard one.
  • Know your options 4D+E - do it, drop it, delegate it, defer it, or escalate.

4D comes from David Allen's 4D model. +E is my personal addition to it. Escalation is your friend. Inform others and ask their opinions whenever you are not sure what to do.

Time Management

  • Small things add up then become big things. Do them while they are small and avoid stress.
  • Don't micromanage; delegate whenever possible.
    • Delegation requires shared understanding. It is not a fire-and-forget process. Guide and track results when needed.
  • Don't over-optimize. Good enough is better than excellent.

Quality Management

  • Follow best practices and solutions. Don't reinvent the wheel
  • Denormalize when needed. Understand how it works. Don't follow rules blindly.
    • You can accomplish things that considered not possible if you understand how things works.
    • Understand concepts and how they relate with each other.
  • Prefer quality over quantity.
  • Always test before deliver.
  • Measure performance

Risk Management

  • No risk no reward
  • Take managed risk and risk what you are willing to lose
  • Sandbox risks and threats
  • Improve your odds
  • Make reasonable assumptions

Personal Management

  • Be kind and focus on good thoughts
  • Be persistent and pay attention to details
  • Be good to yourself
  • Don't compromise your integrity
  • You can only expand yourself as your environment allows. Don't hesitate to change it when necessary
  • You are not a tree. You can always walk away. Don't stay in hostile or harmful environment.
  • "Never attribute to malice that which is adequately explained by stupidity." - Hanson's razor

Duran's Engineering Manifest

Today, I hereby declare that as an engineer,

  • I am passionate about designing, developing, delivering high quality and cost-effective software.
  • I acquire new skills with continuous learning.
  • I am involved in every stage of the Software Development Life Cycle from planning to implementation.
  • I am a conceptual thinker.
  • I do not hesitate to take initiative.
  • I support all standardization activities that make my work easier and understandable.
  • I force myself to improve myself and those around me.
  • I won't be trapped in habits and comfort zone.
  • I pay attention to details and deal with problems with a holistic approach.
  • I care about quality in my work.
  • I do my best not to leave technical debt. If I have to leave technical debt, I will remove the technical debt as soon as possible.
  • I manage time and stress under pressure, and I am not afraid to compromise and ask for help.
  • I will always keep communication channels open.
  • I will always give constructive and positive feedback whenever possible and appropriate.
  • I will always be open to constructive and positive feedback.
  • I will always be conscientious, transparent and will live by values and goals.

Celebrating Republic of Türkiye and Mustafa Kemal Atatürk's Enlightenment Ideals

In honor of the Republic of Türkiye's centenary, my family celebrates the enduring legacy of Mustafa Kemal Atatürk's enlightenment ideals. While these ideals have illuminated Türkiye's path for a century, we recognize that the journey towards their full realization continues. This dedication is a reminder of the profound impact of Atatürk's vision and a call to continue striving for the ideals of enlightenment, progress, and unity that have guided Türkiye's remarkable journey.

Republic of Türkiye centenary celebration banner Since 1923 To Forever ∞ Semper Progressivus: Always Progressive

About

Distributed Reliable .Net project aims to provide somewhat opinionated design and out of the box solutions to enterprise application development. Expected result is spending less time on wiring while getting better maintainability and observability. The project benefits from the best practices, open source solutions and production experience.

Resources

Code of conduct

Contributing

Security policy

Stars

21 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages