A curated list of awesome frameworks, libraries and software.
- https://javalin.io/ - A simple web framework for Java and Kotlin.
- https://sparkjava.com/ - A micro framework for creating web applications in Kotlin and Java 8 with minimal effort.
- https://www.http4k.org/ - http4k provides a simple and uniform way to serve, consume, and test HTTP services.
- https://spring.io/projects/spring-boot - Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
- https://github.com/FasterXML/jackson-databind - JSON parsing for Java.
- https://github.com/square/moshi - Moshi is a modern JSON library for Android, Java and Kotlin.
- https://github.com/uberto/kondor-json - A functional Kotlin library to serialize/deserialize Json fast and safely without using reflection, annotations or code generation.
- https://github.com/resilience4j/resilience4j - Resilience4j is a lightweight, easy-to-use fault tolerance library inspired by Netflix Hystrix, but designed for Java 8 and functional programming.
- https://micrometer.io/ - Vendor-neutral application metrics facade.
- https://prometheus.io/ - An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
- https://grafana.com/ - Grafana is the open source analytics & monitoring solution for every database.
- https://github.com/weaveworks/grafanalib - grafanalib lets you generate Grafana dashboards from simple Python scripts.
- https://bitbucket.org/b_c/jose4j/wiki/Home - The jose.4.j library is an open source (Apache 2.0) implementation of JWT and the JOSE specification suite.
- https://github.com/ben-manes/caffeine - Caffeine is a high performance, near optimal caching library.
- https://github.com/json-path/JsonPath - A Java DSL for reading JSON documents.
- https://github.com/fork-handles/forkhandles - Forkhandles (4k) contains foundational libraries for Kotlin.
- https://github.com/Tinder/StateMachine - A state machine library in Kotlin and Swift.
- https://square.github.io/okhttp/ - OkHttp is an HTTP client that’s efficient by default.
- https://github.com/square/kotlinpoet - KotlinPoet is a Kotlin and Java API for generating .kt source files.
- https://opentelemetry.io/ - High-quality, ubiquitous, and portable telemetry to enable effective observability.
- https://github.com/SpectoLabs/hoverfly - API simulations for development and testing.
- https://grpc.io/ - A high performance, open source universal RPC framework.
- https://github.com/jmfayard/refreshVersions - refreshVersions helps Gradle users with the tedious manual work usually involved in adding and updating dependencies and their versions.
- https://truth.dev/ - Fluent assertions for Java and Android.
- https://mapstruct.org/ - Java bean mappings, the easy way!
- https://github.com/Randgalt/record-builder - Record builder generator for Java records.
- https://github.com/kobylynskyi/graphql-java-codegen - GraphQL Codegen.
- https://github.com/ronmamo/reflections - Java runtime metadata analysis.
- https://www.instancio.org/ - A Java library for automating data setup in unit tests.
- https://www.archunit.org/ - Unit test your Java architecture.
- More... https://github.com/search?q=awesome-kotlin
- More... https://github.com/search?q=awesome-java
- https://github.com/sirthias/parboiled - Elegant parsing in Java and Scala - lightweight, easy-to-use, powerful.
- https://github.com/spf13/cobra - Cobra is a library providing a simple interface to create powerful modern CLI interfaces similar to git & go tools.
- https://github.com/go-playground/validator - Package validator implements value validations for structs and individual fields based on tags.
- https://github.com/stretchr/testify - Go code (golang) set of packages that provide many tools for testifying that your code will behave as you intend.
- https://github.com/rs/zerolog - Zero Allocation JSON Logger
- https://github.com/go-chi/chi - chi is a lightweight, idiomatic and composable router for building Go HTTP services.
- https://github.com/gorilla/mux - Gorilla/Mux is a robust request router
- Learn Go with tests
- More... https://github.com/search?q=awesome-go
- https://expressjs.com/ - Fast, unopinionated, minimalist web framework for Node.js
- https://jestjs.io/ - Jest is a delightful JavaScript Testing Framework with a focus on simplicity.
- https://github.com/axios/axios - Promise based HTTP client for the browser and node.js
- https://github.com/tj/commander.js - The complete solution for node.js command-line interfaces.
- https://github.com/auth0/node-jsonwebtoken - An implementation of JSON Web Tokens.
- https://github.com/http-party/http-server - http-server: a simple static HTTP server.
- https://github.com/immutable-js/immutable-js - Immutable collections for JavaScript.
- https://github.com/lodash/lodash - A modern JavaScript utility library delivering modularity, performance & extras.
- https://github.com/winstonjs/winston - A logger for just about everything.
- https://github.com/microsoft/playwright - Playwright is a framework for Web Testing and Automation.
- https://github.com/motdotla/dotenv - Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env.
- https://github.com/colinhacks/zod - Zod is a TypeScript-first schema declaration and validation library.
- More... https://github.com/search?q=awesome-node
- https://rocket.rs/ - Rocket is a web framework for Rust that makes it simple to write fast, secure web applications without sacrificing flexibility, usability, or type safety.
- https://junit.org/junit5/docs/current/user-guide/ - JUnit 5 is the next generation of JUnit. The goal is to create an up-to-date foundation for developer-side testing on the JVM.
- https://joel-costigliola.github.io/assertj/ - AssertJ provides a rich set of assertions, truly helpful error messages, improves test code readability and is designed to be super easy to use.
- https://wiremock.org/ - WireMock is a simulator for HTTP-based APIs.
- https://github.com/DiUS/java-faker - This library is a port of Ruby's faker gem (as well as Perl's Data::Faker library) that generates fake data.
- https://github.com/skyscreamer/JSONassert - Write JSON tests as if you are comparing a string.
- https://strikt.io/ - Strikt is an assertion library for Kotlin intended for use with a test runner such as JUnit, Minutest or Spek.
- https://mockk.io/ - Provides DSL to mock behaviour.
- https://www.testcontainers.org/ - Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, etc.
- https://approvaltests.com/ - Unit testing asserts can be difficult to use. Approval tests simplify this by taking a snapshot of the results, and confirming that they have not changed.
- https://servirtium.dev/ - Servirtium is primarily a markdown syntax for recorded and played back HTTP conversations with implementation in a number of languages.
- https://rest-assured.io/ - Testing and validating REST services in Java is harder than in dynamic languages such as Ruby and Groovy. REST Assured brings the simplicity of using these languages into the Java domain.
- https://jqwik.net/ - The main purpose of jqwik is to bring Property-Based Testing (PBT) to the JVM.
- http://pitest.org/ - PIT is a state of the art mutation testing system, providing gold standard test coverage for Java and the jvm.
- https://github.com/npryce/snodge - A small, extensible Kotlin library to randomly mutate JSON & XML documents, text and binary data. Useful for fuzz testing.
- https://www.postman.com/ - Postman is an API platform for building and using APIs.
- https://github.com/awaitility/awaitility - Awaitility is a small Java DSL for synchronizing asynchronous operations.
- https://github.com/datafaker-net/datafaker/ - Brings the popular ruby faker gem to Java.
- https://concourse-ci.org/ - Concourse is an open-source continuous thing-doer.
- https://www.jenkins.io/ - Build great things at any scale.
- https://bazel.build/ - Bazel is an open-source build and test tool that scalably supports multi-language and multi-platform projects.
- https://k6.io/ - The best developer experience for load testing.
- https://visualvm.github.io/ - VisualVM is a visual tool integrating commandline JDK tools and lightweight profiling capabilities.
- https://github.com/tsenart/vegeta - Vegeta is a versatile HTTP load testing tool built out of a need to drill HTTP services with a constant request rate.
- https://codahale.com/usl4j-and-you/ - a Java library for modelling system performance given a small set of real-world measurements.
- https://commitizen-tools.github.io/commitizen/ - Create committing rules for projects.
- https://www.conventionalcommits.org/en/v1.0.0/ - A specification for adding human and machine readable meaning to commit messages.
- https://trunkbaseddevelopment.com/ - A source-control branching model, where developers collaborate on code in a single branch called 'trunk'.
- https://en.wikipedia.org/wiki/Software_design_pattern - In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design.
- https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749 - The hexagonal architecture, or ports and adapters architecture, is an architectural pattern used in software design.
- https://julien-topcu.medium.com/decoupling-your-technical-code-from-your-business-logic-with-the-hexagonal-architecture-hexarch-b4da7ba62079 - Hexagonal Architecture: the practical guide for a clean architecture.
- https://en.wikipedia.org/wiki/Hexagonal_architecture_(software) - The hexagonal architecture, or ports and adapters architecture, is an architectural pattern used in software design.
- https://www.liberatingstructures.com/ - Liberating Structures are easy-to-learn microstructures that enhance relational coordination and trust.
- https://owasp.org/www-community/Threat_Modeling - Threat modeling works to identify, communicate, and understand threats and mitigations within the context of protecting something of value.
- https://devopedia.org/shift-left - Shift Left as a principle started with testing but it's beginning to be employed in other disciplines such as security and deployment.
- https://nohello.net/en/ - Imagine calling someone on the phone, going hello! then putting them on hold...
- https://www.thoughtworks.com/en-gb/insights/blog/seven-principles-pair-programming-etiquette - Seven principles of pair programming etiquette.
- https://martinfowler.com/articles/on-pair-programming.html - On Pair Programming
- https://text-to-diagram.com/ - Community list of comparisonsbetween Text to Diagram tools.
- https://adr.github.io/ - Architectural Decision Records
- https://adr.github.io/madr/ - Markdown Architectural Decision Records
- https://mermaid-js.github.io/mermaid - Mermaid lets you create diagrams and visualizations using text and code.
- http://imagineui.io/en/ - Define your mockups in natural language
- https://plantuml.com/ - Easily create beautiful UML Diagrams from simple textual description. There are also numerous kind of available diagrams.
- https://github.com/mingrammer/diagrams - Diagrams lets you draw the cloud system architecture in Python code.
- https://c4model.com/ - The C4 model for visualising software architecture
- https://swagger.io/specification/ - The OpenAPI Specification (OAS) defines a standard, language-agnostic interface to RESTful.
- https://apiblueprint.org/ - API Blueprint is simple and accessible to everybody involved in the API lifecycle.
- https://github.com/h-enk/doks - Doks is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize.
- https://www.diagrams.net/ - diagrams.net/draw.io is an open source technology stack for building diagramming applications, and the world’s most widely used browser-based end-user diagramming software.
- https://gojs.net/latest/ - Build Diagrams for the Web in JavaScript and TypeScript.
- https://swimlanes.io/ - swimlanes.io is a simple online tool for creating sequence diagrams.
- https://bpmn.io/ - Web-based tooling for BPMN, DMN and Forms.
- https://graphviz.org/ - Graphviz is open source graph visualization software.
- https://pikchr.org/home/doc/trunk/homepage.md - Pikchr (pronounced "picture") is a PIC-like markup language for diagrams in technical documentation.
- https://github.com/gopikchr/gopikchr - A direct port of pikchr.org's pikchr.y to Go, by hand.
- https://kroki.io/ - Creates diagrams from textual descriptions!
- https://github.com/Mermade/widdershins - OpenAPI / Swagger / AsyncAPI / Semoasa definition to Slate / ReSlate compatible markdown
- https://structurizr.com/help/lite - C4 Diagrams.
- https://github.com/terrastruct/d2 - D2 is a modern diagram scripting language that turns text to diagrams.
- https://awesome-architecture.com/ - Curated list of awesome articles and resources to learn and practice about software architecture, patterns and principles.
- https://owasp.org/www-project-top-ten/ - OWASP Top Ten
- https://jwt.io/ - JWT.IO allows you to decode, verify and generate JWT.
- https://mkjwk.org/ - Simple JSON Web Key generator.
- https://www.osohq.com/ - Batteries-Included Authorization.
- https://www.openpolicyagent.org/ - Policy-based control for cloud native environments.
- https://github.com/authzed/spicedb - SpiceDB is a Zanzibar-inspired open source database system for managing security-critical application permissions.
- https://github.com/michenriksen/drawio-threatmodeling - This is a collection of custom libraries to turn the free and cross-platform Draw.io diagramming application into the perfect tool for threat modeling.
- https://threagile.io/ - Threagile enables teams to execute Agile Threat Modeling as seamless as possible, even highly-integrated into DevSecOps environments.
- https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html - Threat Modeling Cheat Sheet
- https://owasp.org/www-project-threat-model-cookbook/ - OWASP Threat Model Cookbook
- https://owasp.org/www-project-pytm/ - pytm is a Pythonic framework for threat modeling.
- https://attack.mitre.org/ - MITRE ATT&CK® is a globally-accessible knowledge base of adversary tactics and techniques based on real-world observations.
- https://d3fend.mitre.org/ - A knowledge graph of cybersecurity countermeasures.
- https://casbin.io/ - An authorization library that supports access control models like ACL, RBAC, ABAC.
- https://www.openpolicyagent.org/ - Policy-based control for cloud native environments .
- https://aws.amazon.com/cdk/ - The AWS CDK lets you build reliable, scalable, cost-effective applications in the cloud with the considerable expressive power of a programming language.
- https://www.terraform.io/ - HashiCorp Terraform is an infrastructure as code tool that lets you define both cloud and on-prem resources in human-readable configuration files that you can version, reuse, and share.
- https://www.pulumi.com/ - All of the benefits of a modern programming language for provisioning cloud infrastructure.
- https://nats.io/ - Connective Technology for Adaptive Edge & Distributed Systems.
- https://nsq.io/ - A realtime distributed messaging platform.
- https://json5.org/ - The JSON5 Data Interchange Format (JSON5) is a superset of JSON that aims to alleviate some of the limitations of JSON by expanding its syntax to include some productions from ECMAScript 5.1.
- https://marp.app/ - Markdown Presentation Ecosystem.
- https://carbon.now.sh/ - Create and share beautiful images of your source code.
- https://draculatheme.com/ - Dark theme for 260+ apps.
- https://roadmap.sh/backend - Step by step guide to becoming a modern backend developer in 2022.
- https://monorepo.tools/ - Everything you need to know about monorepos, and the tools to build them.
- https://nixos.org/ - Reproducible builds and deployments.
- https://mjml.io/ - The only framework that makes responsive email easy.
- https://monorepo.tools/ - Everything you need to know about monorepos, and the tools to build them.
- https://github.com/casey/just - just is a handy way to save and run project-specific commands.
- Building Microservices, 2nd Edition
- Testing Microservices, the sane way
- Your API versioning is wrong, which is why I decided to do it 3 different wrong ways
- Consumer Driven Contract Testing
- REST without PUT
- The Practical Test Pyramid
- ThoughtWorks: Technology Radar
- How To Deal with Difficult People on Software Projects
- Parse, Don't Validate
- The Practical Test Pyramid
- Nothing Can Save Us - Kotlin trick for storing objects in a database
- Catalog of design patterns
- https://serverlessland.com/ - This site brings together the latest information, blogs, videos, code, and learning resources for AWS Serverless. Learn to use and build apps that scale automatically on low-cost, fully-managed serverless architecture.
- https://logseq.com/ - A privacy-first, open-source knowledge base.
- https://obsidian.md/ - Obsidian is a powerful and extensible knowledge base that works on top of your local folder of plain text files.