Skip to content

Instantly share code, notes, and snippets.

@genadyp
Last active July 18, 2024 14:21
Show Gist options
  • Save genadyp/7dd204eff66a609f0ced8c48ff02ebfd to your computer and use it in GitHub Desktop.
Save genadyp/7dd204eff66a609f0ced8c48ff02ebfd to your computer and use it in GitHub Desktop.
dev development software engineering

API

awesome-api - A curated list of awesome resources for design and implement RESTful API's

public-apis - A collective list of free APIs for use in software and web development

graphql-apis - A collective list of public GraphQL APIs

Google APIs - clients for Google APIs and tools that help produce them

postwoman - A free, fast and beautiful API request builder (web alternative to Postman)

insomnia - Cross-platform HTTP and GraphQL Client

hoppscotch - Open source API development ecosystem

Mock-Server - MockServer enables easy mocking of any system you integrate with via HTTP or HTTPS

Microsoft REST API Guidelines

schemathesis - Run thousands of randomly generated test scenarios based on your API specification and always be sure your API works as expected.

AsyncAPI - The AsyncAPI specification allows you to create machine-readable definitions of your asynchronous APIs.

modelina - Library for generating data models based on inputs such as AsyncAPI, OpenAPI, or JSON Schema documents.

devdocs - API Documentation Browser

kong - The Cloud-Native API Gateway

OpenAPI

OpenAPI.Tools

OpenAPI Mocker - A mock server based in OpenAPI Specification

openapi-mock-generator - Progressive Web App for generating mocked data from an OpenAPI specification

openapi-sampler - Tool for generation samples based on OpenAPI(fka Swagger) payload/response schema

openapi-devtools - Chrome extension that generates API specs for any app or website

HTTP

wrk - Modern HTTP benchmarking tool

know-your-http-well - HTTP headers, media-types, methods, relations and status codes, all summarized and linking to their specification.

awesome-tunneling - List of ngrok alternatives and other ngrok-like tunneling software and services. Focus on self-hosting.

GraphQL

awesome-graphql - Awesome list of GraphQL & Relay

graphql-scalars - A library of custom GraphQL Scalars for creating precise type-safe GraphQL schemas

graphql-faker - Mock or extend your GraphQL API with faked data. No coding required

graphql-cli - Command line tool for common GraphQL development workflows

graphql-playground - GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs & collaboration)

graphql-voyager - Represent any GraphQL API as an interactive graph

howtographql - The Fullstack Tutorial for GraphQL

Hasura - The Hasura GraphQL Engine gives you fast, instant realtime GraphQL on any Postgres application, existing or new

graphql-code-generator - A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.

gqt - Build and execute GraphQL queries in the terminal.

graphql-hive - GraphQL Hive is a schema registry and monitoring tool

graphql-code-generator - A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.

json-graphql-server - Get a full fake GraphQL API with zero coding in less than 30 seconds.

awesome-graphql-security - A curated list of awesome GraphQL Security frameworks, libraries, software and resources

graphql-inspector - Validate schema, get schema change notifications, validate operations, find breaking changes, look for similar types, schema coverage.

Socket

soketi - Just another simple, fast, and resilient open-source WebSockets server.

Web

awesome-crawler - A collection of awesome web crawler,spider in different languages

awesome-web-scraper - A collection of awesome web scaper, crawler.

HeadlessBrowsers - A list of (almost) all headless web browsers in existence

wasmer - The leading WebAssembly Runtime supporting WASI and Emscripten

smoke - Turns a Web Browser into a Web Server with WebRTC

Databases

awesome-db-tools - Everything that makes working with databases easier

DuckDB - in-process SQL OLAP Database Management System

SurrealDB - A scalable, distributed, collaborative, document-graph database, for the realtime web

LevelDB - fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

FerretDB - A truly Open Source MongoDB alternative

Pinecone - managed, cloud-native vector database with a simple API and no infrastructure hassles. Pinecone serves fresh, filtered query results with low latency at the scale of billions of vectors.

Qdrant - High-performance, massive-scale Vector Database for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/

automatic-api - A list of software that turns your database into a REST/GraphQL API

falcon - Falcon is a free, open-source SQL editor with inline data visualization

beekeeper-studio - Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.

awesome-neo4j - A curated list of Neo4j resources

fauna - Fauna is a flexible, developer-friendly, transactional database available as a secure, cloud API with native GraphQL

Replibyte - Seed your development database with real data

directus - instant REST+GraphQL API and intuitive no-code data collaboration app for any SQL database.

db-readings - Readings in Databases

pgcli - Postgres CLI with autocompletion and syntax highlighting

mycli - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.

litecli - CLI for SQLite Databases with auto-completion and syntax highlighting

appsmith - Low code project to build admin panels, internal tools, and dashboards. Integrates with 15+ databases and any API.

learndb-py - Learn database internals by implementing it from scratch.

dbeaver - Free universal database tool and SQL client

Process Management

pm2 - Node.js Production Process Manager with a built-in Load Balancer.

delicate - A lightweight and distributed task scheduling platform written in rust.

Serialization

CBOR - The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation.

OCR

tesseract - Tesseract Open Source OCR Engine (main repository)

Design

system-design-primer - Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards

awesome-design-patterns - A curated list of software and architecture related design patterns

awesome-scalability - The Patterns of Scalable, Reliable, and Performant Large-Scale Systems

architecture_decision_record - Architecture decision record (ADR) examples for software planning, IT leadership, and template documenation

awesome-microservices - A curated list of Microservice Architecture related principles and technologies

system-design-interview - System design interview for IT companies

data-oriented-design - A curated list of data oriented design resources

diagrams - Diagram as Code for prototyping cloud system architectures

Development

cookiecutter - A command-line utility that creates projects from cookiecutters (project templates)

cookiepatcher - Tool to apply updates of cookiecutter templates for projects

python-cookiepatcher - Just a small shim around cookiecutter that alters a bit the CLI to work better when reapplying templates to existing projects.

going-to-production - A reference checklist for topics which should be covered before going to production

best-practices

naming-cheatsheet - Comprehensive language-agnostic guidelines on variables naming. Home of the A/HC/LC pattern.

static analysis tools - A curated list of static analysis (SAST) tools for all programming languages, config files, build tools, and more

dynamic-analysis - A curated list of dynamic analysis tools for all programming languages, binaries, and more

grex - A command-line tool and library for generating regular expressions from user-provided test cases

renovate - Universal dependency update tool that fits into your workflows.

guides - Guides for working together, getting things done, programming well, and programming in style.

gritql - GritQL is a query language for searching, linting, and modifying code.

Monitoring

graphite-web - A highly scalable real-time graphing system

openmct - A web based mission control framework

sentry - Developer-first error tracking and performance monitoring

Messaging

akhq - Kafka GUI for Apache Kafka to manage topics, topics data, consumers group, schema registry, connect and more

Redpanda Console - developer-friendly UI for managing your Kafka/Redpanda workloads. Console gives you a simple, interactive approach for gaining visibility into your topics, masking data, managing consumer groups, and exploring real-time data with time-travel debugging.

pulsar - distributed pub-sub messaging system

awesome-apache-pulsar - A curated list of resources about Apache Pulsar.

NATS - simple, secure and performant communications system for digital systems, services and devices.

Functional Programming

functional-programming-jargon - Jargon from the functional programming world in simple terms

Version Control

git-flight-rules - Flight Rules are the hard-earned body of knowledge recorded in manuals that list, step-by-step, what to do if X occurs, and why. Essentially, they are extremely detailed, scenario-specific standard operating procedures

tips - Most commonly used git tips and tricks

Guitar - Git GUI Client

ungit - The easiest way to use git. On any platform. Anywhere.

gitamine - A graphical user interface for git

gitui - blazing fast terminal-ui for git written in rust

tig - Text-mode interface for git

joe - A .gitignore magician in your command line

pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.

pre-commit-hooks - Some out-of-the-box hooks for pre-commit

lefthook - Fast and powerful Git hooks manager for any type of projects.

delta - A syntax-highlighter for git and diff output

Sublime Merge - fast and intuitive git client built on the same performant platform as Sublime Text

gitg - graphical user interface for git. It aims at being a small, fast and convenient tool to visualize the history of git repositories. Besides visualization, gitg also provides several utilities to manage your repository and commit your work.

gitahead - graphical Git client designed to help you understand and manage your source code history

SmartGit - Graphical client for Git that supports pull requests and SVN integration for GitHub and Bitbucket

GitKraken - A intuitive, fast, and beautiful cross-platform Git client, of which the free version can (only) be used on Open Source software

GitQlient - Multi-platform Git client written with Qt

lazygit - simple terminal UI for git commands

Conventional Commits - A specification for adding human and machine readable meaning to commit messages

simple-git-hooks - A simple git hooks manager for small projects

Video

awesome-ffmpeg - A curated list of awesome FFmpeg resources

awesome-video - A curated list of awesome streaming video tools, frameworks, libraries, and learning resources.

srs - simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV and SRT.

Filesystem

gitfs - Version controlled file system

borg - Deduplicating archiver with compression and authenticated encryption.

Documentation

docopt - Command-line interface description language

slate - Beautiful static documentation for your API

docusaurus - Easy to maintain open source documentation websites

docsify - A magical documentation site generator

mkdocs - Project documentation with Markdown

docz - Docz makes it easy to write and publish beautiful interactive documentation for your code. Create MDX files showcasing your code and Docz turns them into a live-reloading, production-ready site.

starlight - Build beautiful, high-performance documentation websites with Astro

gitbook - Modern documentation format and toolchain using Git and Markdown

best-of-mkdocs - A ranked list of awesome MkDocs projects and plugins.

ivy - A static website generator for people who enjoy the simpler things in life.

doctoc - Generates table of contents for markdown files inside local git repository. Links are compatible with anchors generated by github or other sites.

Best-README-Template - An awesome README template to jumpstart your projects

ReadMeTemplate - README template

a-good-readme-template - A template to make good README.md

standard-readme - A standard style for README files

readme - Automatically generate a beautiful best-practice README file based on the contents of your repository

readme-md-generator - CLI that generates beautiful README.md files

awesome-readme - A curated list of awesome READMEs

awesome-github-profile-readme - A curated list of awesome GitHub Profile READMEs

how2 - stackoverflow from the terminal

zeal - offline documentation browser for software developers

AsciiDoc - plain text markup language for writing technical content

Typst - is a new markup-based typesetting system that is designed to be as powerful as LaTeX while being much easier to learn and use

Presentation

reveal.js - The HTML Presentation Framework

reveal-md - Get beautiful reveal.js presentations from any Markdown file

doitlive - Tool for live presentations in the terminal. It reads a file of shell commands and replays the commands in a fake terminal session as you type random characters.

slidev - Presentation Slides for Developers

Testing

schemathesis - A tool that generates and runs test cases for Open API / Swagger based apps

web-automation - BDD tests with Cucumber, WebdriverIO and Docker Selenium

awesome-tap - Useful resources for the Test Anything Protocol

artillery - Load testing at cloud-scale, as easy as 1-2-3. Serverless & distributed out-of-the-box. Never fail to scale!

Search

MeiliSearch - Lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine

sonic - Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.

zinc - ZincSearch. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.

Configuration

toml - Tom's Obvious, Minimal Language

jsonnet - The data templating language

Configuration servers

libelektra - universal and secure framework to access configuration parameters in a global, hierarchical key database.

Build

pants - The Pants Build System

bazel - a fast, scalable, multi-language and extensible build system

awesome-bazel - A curated list of Bazel rules, tooling and resources

redo - Smaller, easier, more powerful, and more reliable than make. An implementation of djb's redo

please - High-performance extensible build system for reproducible builds.

SCons - software construction tool—that is, a next-generation build tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software.

Tasks runner

bake - workflow utility, which looks and feels like the good parts of a Makefile

just - Just a command runner

Deployment

awesome-heroku - A curated list of helpful Heroku resources

awesome-docker - A curated list of Docker resources and projects

awesome-aws - A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.

Qovery Engine - The simplest way to deploy your apps on any cloud provider

Tracing

Zipkin - Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in service architectures. Features include both the collection and lookup of this data.

Jaeger - Distributed Tracing Platform. It can be used for monitoring microservices-based distributed systems.

Logging

Fluentd - Fluentd collects events from various data sources and writes them to files, RDBMS, NoSQL, IaaS, SaaS, Hadoop and so on. Fluentd helps you unify your logging infrastructure

Logstash - transport and process your logs, events, or other data

Beats - lightweight data shippers, written in Go, that you install on your servers to capture all sorts of operational data (think of logs, metrics, or network packet data). The Beats send the operational data to Elasticsearch, either directly or via Logstash, so it can be visualized with Kibana.

Pipelines

pipedream - Connect APIs, remarkably fast. Free for developers.

Release

release-please - generate release PRs based on the conventionalcommits.org spec

semantic-release - Fully automated version management and package publishing

semantic-pull-requests - ensure your pull requests are semantic before you merge them.

scriv - Tool for managing changelogs

git-cliff - A highly customizable Changelog Generator that follows Conventional Commit specifications

towncrier - Manage the release notes for your project.

JReleaser - Release projects quickly and easily with JReleaser

auto - Generate releases based on semantic version labels on pull requests.

Serverless

serverless - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more

Cyber security

web-security-basics - Web security concepts

hosts - Consolidating and extending hosts files from several well-curated sources. Optionally pick extensions for porn, social media, and other categories.

Networking

sshuttle - Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling.

bore - simple CLI tool for making tunnels to localhost

awesome-ssh - A curated list of SSH resources.

VPN

openvpn-client - OpenVPN client docker container. It makes routing containers' traffic through OpenVPN easy

Proxy

envoy - Cloud-native high-performance edge/middle/service proxy

Benchmarking

hyperfine - A command-line benchmarking tool

Coding

ProgrammingFonts - This is a collection of programming fonts,just share this with the programmers.Now there are 100 kinds of fantastic fonts

EditorConfig - The EditorConfig project consists of a file format for defining coding styles and a collection of text editor plugins that enable editors to read the file format and adhere to defined styles. EditorConfig files are easily readable and they work nicely with version control systems.

Team building

1on1-questions - Mega list of 1 on 1 meeting questions compiled from a variety to sources

Charts

mermaid - Generation of diagram and flowchart from text in a similar manner as markdown

mermaid-cli - Command line tool for the Mermaid library

Desktop

tauri - Build smaller, faster, and more secure desktop applications with a web frontend.

Interview

algo - 101+ coding interview problems with detailed solutions, test cases, and program analysis

algodeck - An Open-Source Collection of +200 Algorithmic Flash Cards to Help you Preparing your Algorithm & Data Structure Interview

TheAlgorithms - Open Source resource for learning Data Structures & Algorithms and their implementation in any Programming Language

tech-interview-handbook - Materials to help you rock your next coding interview

every-programmer-should-know - A collection of (mostly) technical things every software developer should know

remote-jobs - A list of semi to fully remote-friendly companies in tech

awesome-competitive-programming - A curated list of awesome Competitive Programming, Algorithm and Data Structure resources

daily-coding-problem - https://github.com/vineetjohn/daily-coding-problem

30-seconds-of-interviews - A curated collection of common interview questions to help you prepare for your next interview

Projects - A list of practical projects that anyone can solve in any programming language

Awesome-CV - Awesome CV is LaTeX template for your outstanding job application

interview - Everything you need to prepare for your technical interview

Awesome lists

knowledge-repository - knowledge repository with learning resources, examples, links for various data science / computer science topics

lists - The definitive list of lists (of lists) curated on GitHub and elsewhere

awesome-augmented - Centralize all awesome lists with addition info on curated GitHub repos (automated by scripts)

awesome - Awesome lists about all kinds of interesting topics

awesome-awesomeness - A curated list of awesome awesomeness

awesome-list - An awesome list is a list of awesome things curated by the community

Marketing-for-Engineers - A curated collection of marketing articles & tools to grow your product

cheatsheets - collection of cheatsheets

build-your-own-x - Build your own (insert technology here)

Awesome-Geospatial - Long list of geospatial tools and resources

awesome-functional-programming - Yet another resource for collecting articles, videos etc. regarding functional programming

DevYouTubeList - List of Development YouTube Channels

programming-talks - Awesome & interesting talks about programming

awesome-selfhosted - A list of Free Software network services and web applications which can be hosted locally. Selfhosting is the process of hosting and managing applications instead of renting from Software-as-a-Service providers

free-programming-books - Freely available programming books

awesome-uses - A list of /uses pages detailing developer setups, gear, software and configs

professional-programming - A collection of full-stack resources for programmers

Best-websites-a-programmer-should-visit - Some useful websites for programmers

awesome-augmented - Centralize all awesome lists with addition info on curated GitHub repos (automated by scripts)

awesome-newsletters - The best (weekly) newsletters

programming-principles - Categorized overview of Programming Principles & Patterns

project-based-learning - Curated list of project-based tutorials

awesomo - Cool open source projects

best-practices-checklist - A list of awesome idiomatic code resources

developer-roadmap - Roadmap to becoming a developer

Awesome Semantic Web

best-of - Discover best-of lists with awesome open-source projects on all kinds of topics.

awesome-uses - A list of /uses pages detailing developer setups, gear, software and configs.

Ideas

awesome-project-ideas - Curated list of Machine Learning, NLP, Vision, Recommender Systems Project Ideas

promote-your-next-startup - Free resources you may use to promote your next startup

awesome-indie - Resources for independent developers to make money

side-project-marketing - A checklist of tactics for marketing your side projects

app-ideas - A Collection of application ideas which can be used to improve your coding skills

Learning

realworld - The mother of all demo apps" — Exemplary fullstack Medium.com clone powered by React, Angular, Node, Django, and many more

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment