Skip to content

Real World Ruby apps and their open source codebases for developers to learn from

License

Notifications You must be signed in to change notification settings

jeromedalbert/real-world-ruby-apps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Real world Ruby apps

Real World Ruby apps and their open source codebases for developers to learn from

You'll find the source code in the apps/ subdirectory. These apps are:

  • Executable via the command line
  • Not based on any framework (see other repos for Rails, Sinatra, etc.)

Thank you to every developer who has worked on a project this repo links to, your work is helping developers learn Ruby.

How to install on your computer

# Clone this git repo:
git clone [email protected]:jeromedalbert/real-world-ruby-apps.git

cd real-world-ruby-apps/

# The apps are linked to as git submodules.
# This will take some time...
git submodule update --init --single-branch --jobs 4

Other Real World codebase collections

Information for contributors

Is your app the right fit?

  • The majority of the codebase should not be based on any framework, like Rails or Sinatra. There are dedicated Real World repos for these.
  • The vast majority of the codebase should be written in Ruby.
  • The main app should be executable via a binary.
  • The app should be somewhat popular, in order to limit the apps in this repo to a manageable amount. There is some leeway in what constitutes a popular app. A possible indicator can be GitHub stars compared to similar apps.

Don't hesitate to submit a pull request if you meet the criteria!

How to add a Real World app

Given a GitHub repo for an app githubuser/foo:

# Inside the project root:
# Replace <DEFAULT_BRANCH> with correct branch (probably 'main').
git submodule add -b <DEFAULT_BRANCH> [email protected]:githubuser/foo.git apps/foo

Updating the apps submodules to latest

The apps in apps/ are git submodules. Git submodules are locked to a revision and don't stay in sync with the latest revision.

To update the revisions, run:

# This will take some time:
git submodule update --remote --single-branch --jobs 4

Contributors

  • Jerome Dalbert http://jeromedalbert.com
  • Contributions are welcome, fork the GitHub repo, make your changes, then submit your pull request! Reach out if you'd like some help.

About

Real World Ruby apps and their open source codebases for developers to learn from

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published