A curated list of real world code and documentation to learn from
I don't know about you, but when I'm learning new things, I like to look at existing codebases -- to see how they do it.
So let's build a list of high-quality, real world codebases to learn from -- from libraries and standalone applications, to sample code from training courses and books. By studying real codebases, it becomes easier to put theory into practice, and learn new languages, frameworks, and best practices.
The ideal projects for this repo have some or all of the following characteristics:
- Well-known projects or websites which you might already be using every day
- Well-written code that follows the conventions of the language/framework
- Tests (lots of them)
- Good documentation
- Actively maintained
These projects have great docs:
- PostgreSQL - Highly regarded as having excellent documentation
- FreeBSD Handbook
- kubectl - The Kubernetes client
- flyctl - The client for fly.io
- k9s - Rich CLI tool for managing Kubernetes clusters, uses tview
- Spring Boot - A popular framework for Java
- Apache Camel - An integration library
- Spring Petclinic - The canonical example application to learn Spring
- OpenSearch - A distributed, open source, RESTful search and analytics application
Find trending Java projects on GitHub
- GitLab - The CE (Commmunity Edition) of GitLab. Uses Ruby for the backend.
- n8n - Tool for automating tasks and data integration between apps. (Not strictly open-source, but you can still view the code.)
- FastAPI - a framework for building APIs with Python
- Pydantic - a library for data validation
- Rich - a library for rich text and beautiful formatting in the terminal
Find trending Python projects on GitHub
- httpx - an HTTP client for Python, which can also be run as a CLI tool
- spack - a universal package manager
End user applications which are implemented using Django:
- Edx - a web application for creating and delivering courses and online training
- Netbox - a network management web application
- Sentry - error-tracking platform
- Wagtail - Django-based CMS
Applications that use the Flask framework:
- Apache Superset - a data exploration and visualisation platform
- Book code for Terraform: Up & Running by Yevgeniy Brikman - Example code to accompany Yevgeniy's book
Contributions are welcome! Don't submit your own project, but submit a project that you think is well-written and maintained.