Skip to content

A curated list of real codebases to learn from and be inspired by.

License

Notifications You must be signed in to change notification settings

monodot/awesome-codebases

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 

Repository files navigation

Awesome Codebases Awesome

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

Contents

Documentation

These projects have great docs:

Go

CLI tools

  • kubectl - The Kubernetes client
  • flyctl - The client for fly.io
  • k9s - Rich CLI tool for managing Kubernetes clusters, uses tview

Java

Libraries

Applications

  • 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

JavaScript

Vue

  • 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.)

Python

Libraries

  • 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

Standalone applications

  • httpx - an HTTP client for Python, which can also be run as a CLI tool
  • spack - a universal package manager

Django web applications

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

Flask applications

Applications that use the Flask framework:

Shell (including bash)

CLI tools

  • rbenv - a tool for managing Ruby versions
  • nvm - a tool for managing Node.js versions

Terraform

Contribute

Contributions are welcome! Don't submit your own project, but submit a project that you think is well-written and maintained.

About

A curated list of real codebases to learn from and be inspired by.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published