Skip to content

Instantly share code, notes, and snippets.

@pavel-agarkov
Last active March 24, 2019 16:56
Show Gist options
  • Save pavel-agarkov/e30bf48a61a437ed514262f3b85e77fc to your computer and use it in GitHub Desktop.
Save pavel-agarkov/e30bf48a61a437ed514262f3b85e77fc to your computer and use it in GitHub Desktop.
all technologies used in Midnight Lizard system
Methodologies:
DDD: Domain-Driven Design
EDA: Event-Driven Architecture
TDD: Test-Driven Development
CQRS: Command Query Responsibility Segregation
ES: Event Sourcing
CI: Continuous Integration
CD: Continuous Deployment
MS: Microservices
Backend:
ASP.NET Core: [
v1/v2+, C#, EF Core, Autofac, MediatR, GraphQL.NET, Json.NET,
ApiVersioning, SemanticVersioning, ActionFilter, ModelBinder,
FluentValidation, Logging, Swagger, Swashbuckle, custom NuGets
]
Node.js: [Angular Universal, SEO, SSR, Express, node-openid-client]
Frontend: [
Angular 4/5/6/7, Angular CLI, Apollo GraphQL, NgRx, RxJs,
Angular Material, SCSS, Angular Flex Layout, Infinite Scroll,
ES6, HTML5, CSS3, SVG, WebWorkers, Responsive Design,
JavaScript, TypeScript, Webpack, npm, tslint
]
Identity:
OAuth: OIDC
IdentityServer4: [EF Core, AspNetIdentity]
Clients: [node-openid-client, oidc-client-js]
External Authentication: [Google, Twitter, Facebook]
Grant Types: [authorization_code, client_credentials, hybrid]
Data:
ElasticSearch: [NEST, ElasticSearch.NET, ElasticsearchSinkConnector]
PostgreSQL: [Npgsql, EF Core, Debezium]
SQL Server: [EF Core, Azure]
Messaging:
Kafka: [confluent-kafka-dotnet, KSQL, Debezium]
Testing:
Types: [unit, integration, e2e]
Backend: [xUnit, NSubstitute, Moq, FluentAssertions, AspNetCore.TestHost]
Frontend: [karma, jasmine, protractor]
CI: [Docker multi-stage build, ChromeHeadless]
IDE:
Visual Studio: mainly for debugging and testing .Net
Visual Studio Code: everything else
Version Control: [git, tfs, GitHub, GitLab, VSTS]
Continuous Integration: [GitLab CI, VSTS, Azure Pipelines]
OS:
Development: Windows 10
Testing: Debian Stretch Slim
Production:
ASP.NET Core: Debian Stretch Slim
Node.js: Alpine Linux
CDN: Cloudinary
DNS: Cloudflare
Registrar: Cloudflare
Internationalization: [Crowdin, POEditor, chrome.i18n]
Screenshots:
Xvfb: since ChromeHeadless does not support extensions
Chrome: installed into Docker container
PuppeteerSharp: to take screenshots from Chrome
Magick.NET: to resize and convert to Progressive JPEG
CloudinaryDotNet: to upload screenshots to Cloudinary CDN
Clouds:
Google Cloud Platform: [GCP, GCE, GKE, OAuth, L7/Ingress, PD, Search Console]
Microsoft Azure: [App Service, AKS, VSTS, DevOps, Pipelines, SQL Server]
Containers:
Orchestration: Kubernetes
Development: [Docker, Minikube, vsdbg]
Deployment: [helm, gcloud cli, GitLab CI, bash]
Logging & Monitoring: [Weave Scope, StackDriver]
Security: [RBAC, cert-manager, letsencrypt]
Registries: [GitLab, Google, Azure, Docker Hub]
WebExtensions:
Browsers: [Chrome, Firefox, Chromium, Vivaldi, Opera, Yandex, Brave, UC]
Themes: [Firefox Dynamic Themes, Vivaldi Accent Color]
Parts: [content script, background page, popup, injected page script]
Browser APIs: [i18n, storage, tabs, commands, internal & external messaging]
Web APIs: [
Computed Styles, localStorage, sessionStorage, cookie, RegExp,
MutationObserver, CustomEvent, matchMedia, StyleSheet Processing,
Custom CSS Properties, CSS Filters, SVG Filters, Pseudo Classes & Elements,
Transitions, Animations, Transformations, Gradients, Editable Content
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment