mirror of
https://github.com/sindresorhus/awesome
synced 2024-11-23 14:46:33 +01:00
.github | ||
media | ||
.editorconfig | ||
.gitattributes | ||
awesome.md | ||
code-of-conduct.md | ||
contributing.md | ||
create-list.md | ||
license | ||
pull_request_template.md | ||
readme.md |
My open source work is supported by the community
Special thanks to:Botpress is an open-source conversational assistant creation platform.
They welcome contributions from anyone, whether you're into machine learning,
want to get started in open-source, or just have an improvement idea.
What is an awesome list? Contribution guide Creating a list Twitter Stickers & t-shirts
Follow the Awesome Twitter account for updates on new list additions.
Just type awesome.re
to go here. Check out my blog and follow me on Twitter.
Contents
- Platforms
- Programming Languages
- Front-End Development
- Back-End Development
- Computer Science
- Big Data
- Theory
- Books
- Editors
- Gaming
- Development Environment
- Entertainment
- Databases
- Media
- Learn
- Security
- Content Management Systems
- Hardware
- Business
- Work
- Networking
- Decentralized Systems
- Higher Education
- Events
- Testing
- Miscellaneous
- Related
Platforms
- Node.js - Async non-blocking event-driven JavaScript runtime built on Chrome's V8 JavaScript engine.
- Cross-Platform - Writing cross-platform code on Node.js.
- Frontend Development
- iOS - Mobile operating system for Apple phones and tablets.
- Android - Mobile operating system developed by Google.
- IoT & Hybrid Apps
- Electron - Cross-platform native desktop apps using JavaScript/HTML/CSS.
- Cordova - JavaScript API for hybrid apps.
- React Native - JavaScript framework for writing natively rendering mobile apps for iOS and Android.
- Xamarin - Mobile app development IDE, testing, and distribution.
- Linux
- Containers
- eBPF - Virtual machine that allows you to write more efficient and powerful tracing and monitoring for Linux systems.
- Arch-based Projects - Linux distributions and projects based on Arch Linux.
- macOS - Operating system for Apple's Mac computers.
- watchOS - Operating system for the Apple Watch.
- JVM
- Salesforce
- Amazon Web Services
- Windows
- IPFS - P2P hypermedia protocol.
- Fuse - Mobile development tools.
- Heroku - Cloud platform as a service.
- Raspberry Pi - Credit card-sized computer aimed at teaching kids programming, but capable of a lot more.
- Qt - Cross-platform GUI app framework.
- WebExtensions - Cross-browser extension system.
- RubyMotion - Write cross-platform native apps for iOS, Android, macOS, tvOS, and watchOS in Ruby.
- Smart TV - Create apps for different TV platforms.
- GNOME - Simple and distraction-free desktop environment for Linux.
- KDE - A free software community dedicated to creating an open and user-friendly computing experience.
- .NET
- Amazon Alexa - Virtual home assistant.
- DigitalOcean - Cloud computing platform designed for developers.
- Flutter - Google's mobile SDK for building native iOS and Android apps from a single codebase written in Dart.
- Home Assistant - Open source home automation that puts local control and privacy first.
- IBM Cloud - Cloud platform for developers and companies.
- Firebase - App development platform built on Google Cloud Platform.
- Robot Operating System 2.0 - Set of software libraries and tools that help you build robot apps.
- Adafruit IO - Visualize and store data from any device.
- Cloudflare - CDN, DNS, DDoS protection, and security for your site.
- Actions on Google - Developer platform for Google Assistant.
- ESP - Low-cost microcontrollers with WiFi and broad IoT applications.
Programming Languages
- JavaScript
- Promises
- Standard Style - Style guide and linter.
- Must Watch Talks
- Tips
- Network Layer
- Micro npm Packages
- Mad Science npm Packages - Impossible sounding projects that exist.
- Maintenance Modules - For npm packages.
- npm - Package manager.
- AVA - Test runner.
- ESLint - Linter.
- Functional Programming
- Observables
- npm scripts - Task runner.
- 30 Seconds of Code - Code snippets you can understand in 30 seconds.
- Swift - Apple's compiled programming language that is secure, modern, programmer-friendly, and fast.
- Python - General-purpose programming language designed for readability.
- Asyncio - Asynchronous I/O in Python 3.
- Scientific Audio - Scientific research in audio/music.
- CircuitPython - A version of Python for microcontrollers.
- Data Science - Data analysis and machine learning.
- Typing - Optional static typing for Python.
- Rust
- Haskell
- PureScript
- Go
- Scala
- Scala Native - Optimizing ahead-of-time compiler for Scala based on LLVM.
- Ruby
- Clojure
- ClojureScript
- Elixir
- Elm
- Erlang
- Julia
- Lua
- C
- C/C++ - General-purpose language with a bias toward system programming and embedded, resource-constrained software.
- R
- D
- Common Lisp - Powerful dynamic multiparadigm language that facilitates iterative and interactive development.
- Perl
- Groovy
- Dart
- Java - Popular secure object-oriented language designed for flexibility to "write once, run anywhere".
- Kotlin
- OCaml
- ColdFusion
- Fortran
- PHP - Server-side scripting language.
- Composer - Package manager.
- Pascal
- Assembler
- AutoHotkey
- AutoIt
- Crystal
- Frege - Haskell for the JVM.
- CMake - Build, test, and package software.
- ActionScript 3 - Object-oriented language targeting Adobe AIR.
- Eta - Functional programming language for the JVM.
- Idris - General purpose pure functional programming language with dependent types influenced by Haskell and ML.
- Ada/SPARK - Modern programming language designed for large, long-lived apps where reliability and efficiency are essential.
- Q# - Domain-specific programming language used for expressing quantum algorithms.
- Imba - Programming language inspired by Ruby and Python and compiles to performant JavaScript.
- Vala - Programming language designed to take full advantage of the GLib and GNOME ecosystems, while preserving the speed of C code.
- Coq - Formal language and environment for programming and specification which facilitates interactive development of machine-checked proofs.
Front-End Development
- ES6 Tools
- Web Performance Optimization
- Web Tools
- CSS - Style sheet language that specifies how HTML elements are displayed on screen.
- React - App framework.
- Relay - Framework for building data-driven React apps.
- React Hooks - A new feature that lets you use state and other React features without writing a class.
- Web Components
- Polymer - JavaScript library to develop Web Components.
- Angular - App framework.
- Backbone - App framework.
- HTML5 - Markup language used for websites & web apps.
- SVG - XML-based vector image format.
- Canvas
- KnockoutJS - JavaScript library.
- Dojo Toolkit - JavaScript toolkit.
- Inspiration
- Ember - App framework.
- Android UI
- iOS UI
- Meteor
- BEM
- Flexbox
- Web Typography
- Web Accessibility
- Material Design
- D3 - Library for producing dynamic, interactive data visualizations.
- Emails
- jQuery - Easy to use JavaScript library for DOM manipulation.
- Web Audio
- Offline-First
- Static Website Services
- Cycle.js - Functional and reactive JavaScript framework.
- Text Editing
- Motion UI Design
- Vue.js - App framework.
- Marionette.js - App framework.
- Aurelia - App framework.
- Charting
- Ionic Framework 2
- Chrome DevTools
- PostCSS - CSS tool.
- Draft.js - Rich text editor framework for React.
- Service Workers
- Progressive Web Apps
- choo - App framework.
- Redux - State container for JavaScript apps.
- webpack - Module bundler.
- Browserify - Module bundler.
- Sass - CSS preprocessor.
- Ant Design - Enterprise-class UI design language.
- Less - CSS preprocessor.
- WebGL - JavaScript API for rendering 3D graphics.
- Preact - App framework.
- Progressive Enhancement
- Next.js - Framework for server-rendered React apps.
- Hyperapp - Tiny JavaScript library for building web apps.
- lit-html - HTML templating library for JavaScript.
- JAMstack - Modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt markup.
- WordPress-Gatsby - Web development technology stack with WordPress as a back end and Gatsby as a front end.
- Mobile Web Development - Creating a great mobile web experience.
- Storybook - Development environment for UI components.
- Blazor - .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.
- Web Performance Metrics - Metrics to help understand page speed and user experience.
- Tailwind CSS - Utility-first CSS framework for rapid UI development.
- Seed - Rust framework for creating web apps running in WebAssembly.
- Web Performance Budget - Techniques to ensure certain performance metrics for a website.
- Web Animation - Animations in the browser with JavaScript, CSS, SVG, etc.
- Yew - Rust framework inspired by Elm and React for creating multi-threaded frontend web apps with WebAssembly.
Back-End Development
- Flask - Python framework.
- Docker
- Vagrant - Automation virtual machine environment.
- Pyramid - Python framework.
- Play1 Framework
- CakePHP - PHP framework.
- Symfony - PHP framework.
- Laravel - PHP framework.
- Rails - Web app framework for Ruby.
- Gems - Packages.
- Phalcon - PHP framework.
- Useful
.htaccess
Snippets - nginx - Web server.
- Dropwizard - Java framework.
- Kubernetes - Open-source platform that automates Linux container operations.
- Lumen - PHP micro-framework.
- Serverless Framework - Serverless computing and serverless architectures.
- Apache Wicket - Java web app framework.
- Vert.x - Toolkit for building reactive apps on the JVM.
- Terraform - Tool for building, changing, and versioning infrastructure.
- Vapor - Server-side development in Swift.
- Dash - Python web app framework.
Computer Science
- University Courses
- Data Science
- Machine Learning
- Tutorials
- ML with Ruby - Learning, implementing, and applying Machine Learning using Ruby.
- Core ML Models - Models for Apple's machine learning framework.
- H2O - Open source distributed machine learning platform written in Java with APIs in R, Python, and Scala.
- Speech and Natural Language Processing
- Spanish
- NLP with Ruby
- Question Answering - The science of asking and answering in natural language with a machine.
- Natural Language Generation - Generation of text used in data to text, conversational agents, and narrative generation applications.
- Linguistics
- Cryptography
- Papers - Theory basics for using cryptography by non-cryptographers.
- Computer Vision
- Deep Learning - Neural networks.
- TensorFlow - Library for machine intelligence.
- Papers - The most cited deep learning papers.
- Education
- Deep Vision
- Open Source Society University
- Functional Programming
- Empirical Software Engineering - Evidence-based research on software systems.
- Static Analysis & Code Quality
- Information Retrieval - Learn to develop your own search engine.
- Quantum Computing - Computing which utilizes quantum mechanics and qubits on quantum computers.
Big Data
- Big Data
- Public Datasets
- Hadoop - Framework for distributed storage and processing of very large data sets.
- Data Engineering
- Streaming
- Apache Spark - Unified engine for large-scale data processing.
- Qlik - Business intelligence platform for data visualization, analytics, and reporting apps.
- Splunk - Platform for searching, monitoring, and analyzing structured and unstructured machine-generated big data in real-time.
Theory
- Papers We Love
- Talks
- Algorithms
- Education - Learning and practicing.
- Algorithm Visualizations
- Artificial Intelligence
- Search Engine Optimization
- Competitive Programming
- Math
- Recursion Schemes - Traversing nested data structures.
Books
- Free Programming Books
- Free Software Testing Books
- Go Books
- R Books
- Mind Expanding Books
- Book Authoring
- Elixir Books
Editors
- Sublime Text
- Vim
- Emacs
- Atom - Open-source and hackable text editor.
- Visual Studio Code - Cross-platform open-source text editor.
Gaming
- Game Development
- Game Networking - Network programming for multiplayer online games.
- Game Talks
- Godot - Game engine.
- Open Source Games
- Unity - Game engine.
- Chess
- LÖVE - Game engine.
- PICO-8 - Fantasy console.
- Game Boy Development
- Construct 2 - Game engine.
- Gideros - Game engine.
- Minecraft - Sandbox video game.
- Game Datasets - Materials and datasets for Artificial Intelligence in games.
- Haxe Game Development - A high-level strongly typed programming language used to produce cross-platform native code.
- libGDX - Java game framework.
- PlayCanvas - Game engine.
Development Environment
- Quick Look Plugins - For macOS.
- Dev Env
- Dotfiles
- Shell
- Fish - User-friendly shell.
- Command-Line Apps
- ZSH Plugins
- GitHub - Hosting service for Git repositories.
- Browser Extensions
- Cheat Sheet
- Pinned Gists - Dynamic pinned gists for your GitHub profile.
- Git Cheat Sheet & Git Flow
- Git Tips
- Git Add-ons - Enhance the
git
CLI. - Git Hooks - Scripts for automating tasks during
git
workflows. - SSH
- FOSS for Developers
- Hyper - Cross-platform terminal app built on web technologies.
- PowerShell - Cross-platform object-oriented shell.
- Alfred Workflows - Productivity app for macOS.
- Terminals Are Sexy
- GitHub Actions - Create tasks to automate your workflow and share them with others on GitHub.
Entertainment
Databases
- Database
- MySQL
- SQLAlchemy
- InfluxDB
- Neo4j
- MongoDB - NoSQL database.
- RethinkDB
- TinkerPop - Graph computing framework.
- PostgreSQL - Object-relational database.
- CouchDB - Document-oriented NoSQL database.
- HBase - Distributed, scalable, big data store.
- NoSQL Guides - Help on using non-relational, distributed, open-source, and horizontally scalable databases.
- Contexture - Abstracts queries/filters and results/aggregations from different backing data stores like ElasticSearch and MongoDB.
Media
- Creative Commons Media
- Fonts
- Codeface - Text editor fonts.
- Stock Resources
- GIF - Image format known for animated images.
- Music
- Open Source Documents
- Audio Visualization
- Broadcasting
- Pixel Art - Pixel-level digital art.
- FFmpeg - Cross-platform solution to record, convert and stream audio and video.
- Icons - Downloadable SVG/PNG/font icon projects.
Learn
- CLI Workshoppers - Interactive tutorials.
- Learn to Program
- Speaking
- Tech Videos
- Dive into Machine Learning
- Computer History
- Programming for Kids
- Educational Games - Learn while playing.
- JavaScript Learning
- CSS Learning - Mainly about CSS – the language and the modules.
- Product Management - Learn how to be a better product manager.
- Roadmaps - Gives you a clear route to improve your knowledge and skills.
Security
- Application Security
- Security
- CTF - Capture The Flag.
- Malware Analysis
- Android Security
- Hacking
- Honeypots - Deception trap, designed to entice an attacker into attempting to compromise the information systems in an organization.
- Incident Response
- Vehicle Security and Car Hacking
- Web Security - Security of web apps & services.
- Lockpicking - The art of unlocking a lock by manipulating its components without the key.
- Cybersecurity Blue Team - Groups of individuals who identify security flaws in information technology systems.
- Fuzzing - Automated software testing technique that involves feeding pseudo-randomly generated input data.
- Embedded and IoT Security
- GDPR - Regulation on data protection and privacy for all individuals within EU.
Content Management Systems
- Umbraco
- Refinery CMS - Ruby on Rails CMS.
- Wagtail - Django CMS focused on flexibility and user experience.
- Textpattern - Lightweight PHP-based CMS.
- Drupal - Extensible PHP-based CMS.
- Craft CMS - Content-first CMS.
Hardware
- Robotics
- Internet of Things
- Electronics - For electronic engineers and hobbyists.
- Bluetooth Beacons
- Electric Guitar Specifications - Checklist for building your own electric guitar.
Business
- Open Companies
- Places to Post Your Startup
- OKR Methodology - Goal setting & communication best practices.
- Leading and Managing - Leading people and being a manager in a technology company/environment.
- Indie - Independent developer businesses.
- Tools of the Trade - Tools used by companies on Hacker News.
- Clean Tech - Fighting climate change with technology.
- Wardley Maps - Provides high situational awareness to help improve strategic planning and decision making.
Work
- Slack - Team collaboration.
- Remote Jobs
- Productivity
- Niche Job Boards
- Programming Interviews
- Code Review - Reviewing code.
Networking
Decentralized Systems
- Bitcoin - Bitcoin services and tools for software developers.
- Ripple - Open source distributed settlement network.
- Non-Financial Blockchain - Non-financial blockchain applications.
- Mastodon - Open source decentralized microblogging network.
- Ethereum - Distributed computing platform for smart contract development.
- Blockchain AI - Blockchain projects for artificial intelligence and machine learning.
- EOSIO - A decentralized operating system supporting industrial-scale apps.
- Corda - Open source blockchain platform designed for business.
Higher Education
- Computational Neuroscience - A multidisciplinary science which uses computational approaches to study the nervous system.
- Digital History - Computer-aided scientific investigation of history.
Events
- Creative Tech Events - Events around the globe for creative coding, tech, design, music, arts and cool stuff.
- Events in Italy - Tech-related events in Italy.
- Events in the Netherlands - Tech-related events in the Netherlands.
Testing
- Testing - Software testing.
- Visual Regression Testing - Ensures changes did not break the functionality or style.
- Selenium - Open-source browser automation framework and ecosystem.
- Appium - Test automation tool for apps.
- TAP - Test Anything Protocol.
- JMeter - Load testing and performance measurement tool.
- k6 - Open-source, developer-centric performance monitoring and load testing solution.
Miscellaneous
- JSON - Text based data interchange format.
- CSV - A text file format that stores tabular data and uses a comma to separate values.
- Discounts for Student Developers
- Sysadmin
- Radio
- Awesome - Recursion illustrated.
- Analytics
- REST
- Continuous Integration and Continuous Delivery
- Services Engineering
- Free for Developers
- Answers - Stack Overflow, Quora, etc.
- Sketch - Design app for macOS.
- Boilerplate Projects
- Readme
- Design and Development Guides
- Software Engineering Blogs
- Self Hosted
- FOSS Production Apps
- Gulp - Task runner.
- AMA - Ask Me Anything.
- Open Source Photography
- OpenGL - Cross-platform API for rendering 2D and 3D graphics.
- GraphQL
- Transit
- Research Tools
- Data Visualization
- Social Media Share Links
- Microservices
- Unicode - Unicode standards, quirks, packages and resources.
- Beginner-Friendly Projects
- Katas
- Tools for Activism
- Citizen Science - For community-based and non-institutional scientists.
- MQTT - "Internet of Things" connectivity protocol.
- Hacking Spots
- For Girls
- Vorpal - Node.js CLI framework.
- Vulkan - Low-overhead, cross-platform 3D graphics and compute API.
- LaTeX - Typesetting language.
- Economics - An economist's starter kit.
- Funny Markov Chains
- Bioinformatics
- Cheminformatics - Informatics techniques applied to problems in chemistry.
- Colorful - Choose your next color scheme.
- Steam - Digital distribution platform.
- Bots - Building bots.
- Site Reliability Engineering
- Empathy in Engineering - Building and promoting more compassionate engineering cultures.
- DTrace - Dynamic tracing framework.
- Userscripts - Enhance your browsing experience.
- Pokémon - Pokémon and Pokémon GO.
- ChatOps - Managing technical and business operations through a chat.
- Falsehood - Falsehoods programmers believe in.
- Domain-Driven Design - Software development approach for complex needs by connecting the implementation to an evolving model.
- Quantified Self - Self-tracking through technology.
- SaltStack - Python-based config management system.
- Web Design - For digital designers.
- Creative Coding - Programming something expressive instead of something functional.
- No-Login Web Apps - Web apps that work without login.
- Free Software - Free as in freedom.
- Framer - Prototyping interactive UI designs.
- Markdown - Markup language.
- Dev Fun - Funny developer projects.
- Healthcare - Open source healthcare software for facilities, providers, developers, policy experts, and researchers.
- Magento 2 - Open Source eCommerce built with PHP.
- TikZ - Graph drawing packages for TeX/LaTeX/ConTeXt.
- Neuroscience - Study of the nervous system and brain.
- Ad-Free - Ad-free alternatives.
- Esolangs - Programming languages designed for experimentation or as jokes rather than actual use.
- Prometheus - Open-source monitoring system.
- Homematic - Smart home devices.
- Ledger - Double-entry accounting on the command-line.
- Uncopyright - Public domain works.
- Crypto Currency Tools & Algorithms - Digital currency where encryption is used to regulate the generation of units and verify transfers.
- Diversity - Creating a more inclusive and diverse tech community.
- Open Source Supporters - Companies that offer their tools and services for free to open source projects.
- Design Principles - Create better and more consistent designs and experiences.
- Theravada - Teachings from the Theravada Buddhist tradition.
- inspectIT - Open source Java app performance management tool.
- Open Source Maintainers - The experience of being an open source maintainer.
- Calculators - Calculators for every platform.
- Captcha - A type of challenge–response test used in computing to determine whether or not the user is human.
- Jupyter - Create and share documents that contain code, equations, visualizations and narrative text.
- FIRST Robotics Competition - International high school robotics championship.
- Humane Technology - Open source projects that help improve society.
- Speakers - Conference and meetup speakers in the programming and design community.
- Board Games - Table-top gaming fun for all.
- Software Patreons - Fund individual programmers or the development of open source projects.
- Parasite - Parasites and host-pathogen interactions.
- Food - Food-related projects on GitHub.
- Mental Health - Mental health awareness and self-care in the software industry.
- Bitcoin Payment Processors - Start accepting Bitcoin.
- Scientific Computing - Solving complex scientific problems using computers.
- Amazon Sellers
- Agriculture - Open source technology for farming and gardening.
- Plotters - Computer-controlled drawing machines and other visual art robots.
- Product Design - Design a product from the initial concept to production.
- Prisma - Turn your database into a GraphQL API.
- Software Architecture - The discipline of designing and building software.
- Connectivity Data and Reports - Better understand who has access to telecommunication and internet infrastructure and on what terms.
- Stacks - Tech stacks for building different apps and features.
- Cytodata - Image-based profiling of biological phenotypes for computational biologists.
- IRC - Open source messaging protocol.
- Advertising - Advertising and programmatic media for websites.
- Earth - Find ways to resolve the climate crisis.
- Naming - Naming things in computer science done right.
- Biomedical Information Extraction - How to extract information from unstructured biomedical data and text.
Related
- Awesome Indexed - Search the Awesome dataset.
- Awesome Search - Quick search for Awesome lists.
- StumbleUponAwesome - Discover random pages from the Awesome dataset using a browser extension.
- Awesome CLI - A simple command-line tool to dive into Awesome lists.