Awesome Open Source
Awesome Open Source



This is a curated list of the most didactic and/or deeply detailed must-read resources about software development.

Online Resources

Architectural Patterns

Is a general, reusable solution to a commonly occurring problem in software architecture within a given context. Architectural patterns are similar to software design pattern but have a broader scope.


A database is an organized collection of data. It is the collection of schemas, tables, queries, reports, views, and other objects.


In computing, a logfile is a file that records either events that occur in an operating system or other software runs, or messages between different users of a communication software. Logging is the act of keeping a log.

Object-Oriented Design

Object-Oriented Design is the process of planning a system of interacting objects for the purpose of solving a software problem.


Code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. Refactoring improves nonfunctional attributes of the software.

Revision Control

Revision control is any kind of practice that tracks and provides control over changes to source code.

Service-Oriented Architecture

A service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network. The basic principles of service-oriented architecture are independent of vendors, products and technologies.


Last but not least.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
awesome-list (1,343
resources (210
software-engineering (73
study (61
software-development (31
software-architecture (25