Skip to content
Browse files

chore(ci): Add script to autogenerate repo listing in README

  • Loading branch information
anishkny committed May 23, 2018
1 parent f569999 commit 94ada85840fd4d6bf1eb22372889e477c878dbc3
Showing with 367 additions and 2 deletions.
  1. +2 โˆ’0 .gitignore
  2. +3 โˆ’2 .travis.yml
  3. +171 โˆ’0 etc/
  4. +60 โˆ’0 etc/backend-repos.yaml
  5. +39 โˆ’0 etc/frontend-repos.yaml
  6. +18 โˆ’0 etc/
  7. +72 โˆ’0 etc/update-readme.js
  8. +2 โˆ’0 package.json
@@ -18,6 +18,8 @@ logs

# Runtime data
@@ -1,5 +1,6 @@
language: node_js
- "7"
- "10"
- newman run api/Conduit.postman_collection.json -e api/Conduit.postman_integration_test_environment.json --global-var "EMAIL=$CONDUIT_EMAIL" --global-var "PASSWORD=$CONDUIT_PASSWORD"
- cd etc && ./

@@ -0,0 +1,171 @@
# ![RealWorld Example Applications](media/realworld.png)

### Stay on the bleeding edge โ€” [join our Gitter room!]( ๐ŸŽ‰

[![Travis](]( [![Gitter](]( [![Twitter](](

<p align="center">
<img src="media/stacks_hr.gif" />

<a href=""><img src="media/conduit_l.png" align="right" width="250px" /></a>

### See how *the exact same* clone (called [Conduit]( is built using any of our supported [frontends](#frontends) and [backends](#backends). Yes, you can mix and match them, because **they all adhere to the same [API spec](spec/)** ๐Ÿ˜ฎ๐Ÿ˜Ž

While most "todo" demos provide an excellent cursory glance at a framework's capabilities, they typically don't convey the knowledge & perspective required to actually build _real_ applications with it.

RealWorld solves this by allowing you to choose any frontend (React, Angular 2, & more) and any backend (Node, Django, & more) and see how they power a real world, beautifully designed fullstack app called "[Conduit](".

*Read the [full blog post announcing RealWorld on Medium.](*

# Frontends
>_Sorted by popularity every 24 hours._

Work In Progress: **[Ember]( | [React+Relay]( | [ClojureScript]( | [Mithril]( | [Vanilla JS (Web Components)]( | [Angular+NgRx+nx]( | [Blazor (ASP.NET Core + Web Assembly)](**

# Backends
>_Sorted by popularity every 24 hours._

Work In Progress: **[Clojure]( | [Crystal + Kemal]( | [Dotnet Core (C#)]( | [Dropwizard]( | [Falcon + GAE]( | [Firebase + GCP Cloud]( | [Go + Gorilla mux]( | [Go + net/http]( | [Haskell / Servant]( | [Loopback 3.0]( | [Nim]( | [Node + GraphQL]( | [Node (Lambda + DynamoDB)]( | [Phalcon]( | [Spring (w/ Spring Boot)]( | [Symfony](**

# Mobile

Work In Progress: **[React Native]( | [Ionic 2+]( | [Xamarin](**

# Fullstack

_Since these implementations are reponsible for the entire stack, they obviously cannot be mixed and matched but they still adhere to the same functionality & UX specs._

Work In Progress: **[Meteor]() | [Ruby Hyperloop]() | [Firebase](**

# Create a new stack

[![Create a new stack](media/upcoming_stacks.png)](/spec)

### Know any of these frameworks (or one that isn't listed)?<br />[**Create a new framework implementation >>>**](/spec)

Or you can [view upcoming stacks (WIPs)](

Note: All stacks that are a WIP are experimental and incomplete.

Don't expect everything to work perfectly out of the box!

<br />

# How do I get up & running?

Simply follow the instructions in the README of whatever frontend and/or backend repo's you want to get up and running.

### Can you teach me how to build each stack from scratch?

Yup! We've built step-by-step tutorials for all of our stacks that teach you how to go from `git init` all the way to the production ready application. [**Start learning now >>>**](

<br />

# Community created resources

Forks, tutorials, workshops, and other resources based on the RealWorld project:

- [**React+Redux / Node testing workshop**]( by [**Kent C. Dodds**](
- Example repo showing the React+Redux and Node stacks working together w/ TDD
- Live recording of his workshop is [**available on YouTube**](
- [**A Real-World Comparison of Front-End Frameworks with Benchmarks**]( by [**Jacek Schae**](
- Medium post comparing performance of various [RealWorld]( frontends
- [**RealWorld React/NodeJS E2E Tests**]( by [**Anish Karandikar**](
- A repo showing how to wire [React]( frontend with [NodeJS]( backend for a RealWorld fullstack
- Includes E2E integration tests that use [Chrome Puppeteer]( and [Mocha]( and work with CI systems like [Travis CI]( and [CircleCI](
- Also demonstrates usage of [Greenkeeper]( for automatic dependency updates and [Snyk]( for vulnerability monitoring
- Performance comparisons:
- [A Real-World Comparison of Front-End Frameworks with Benchmarks](
- [A Real-World Comparison of Front-End Frameworks with Benchmarks (2018 update)](

<br />

# Learn more

- ["Introducing RealWorld ๐Ÿ™Œ"]( by Eric Simons
- Every tutorial is built against the same [API spec](api/) to ensure modularity of every frontend & backend
- Every frontend utilizes the same hand crafted [Bootstrap 4 theme]( for identical UI/UX
- There is a hosted version of the backend API available for public usage, no API keys required
- Interested in creating a new RealWorld stack? View our [starter guide & spec](/spec)

<br />

# Who made this?

RealWorld would not be possible without the [open source community](#special-thanks-to) continuously helping push the project forward. In addition, we have a core project team composed of:

#### [Eric Simons]( - Founder/Lead

<img align="left" width="40" height="40" src="">

Eric is a Software Engineer, UI Designer, and author of many technical books & tutorials. He oversees the project direction, maintenance and organizes the planning and development efforts of the team.

#### [Albert Pai]( - Founder/Lead

<img align="left" width="40" height="40" src="">

Albert is a Software Engineer, DevOps ninja, and author of many technical books & tutorials. He oversees the project direction, maintenance and organizes the planning and development efforts of the team.

#### [Thinkster]( - Funding/Support

<img align="left" width="40" height="40" src="">

[Thinkster]( creates high quality resources that help Javascript developers succeed. The RealWorld project wouldn't exist without their funding, so please consider investing in [a Pro subscription]( to help support us!

#### [James Brewer]( - Admin

<img align="left" width="40" height="40" src="">

James is a Software Engineer at Square and a contributor to the Django project. He created & maintains the RW Django codebase and continually provides guidance for the RealWorld project itself.

#### [Anish Karandikar]( - Admin

<img align="left" width="40" height="40" src="">

MathWorker, ex-Google, ex-Computational Fluid Dynamicist, forever lover of tech & humanities โค๏ธ

#### [Sandeesh S.]( - Admin

<img align="left" width="40" height="40" src="">

Full stack developer, Laravel enthusiast, Digital marketing specialist and an avid gamer.

#### [Cameron Chapman]( - Admin

<img align="left" width="40" height="40" src="">

Cameron Chapman is a Software Engineer at FanThreeSixty. He's an open source enthusiast and is helping to teach a local web development boot camp at Kansas University.

## Special thanks to...

RealWorld wouldn't be possible without the help of the open source community reviewing codebases, creating new app implementations, and many other tasks that help push this project forward. We especially appreciate the OSS leaders who have helped contribute to RealWorld:

- **Dan Abramov** (creator of Redux) for helping [spark the initial idea](, [getting the Redux community involved](, as well as graciously taking the time to provide feedback on the Redux codebase
- **Max Lynch** (creator of Ionic) for taking the time to provide guidance in the early days of this project
- **Addy Osmani** (creator of TodoMVC) for helping [spark the initial idea]( and his amazing work with TodoMVC
- **TodoMVC** ([team & contributors]( for their exemplary & successful work; their project & org has been an invaluable analogy for us as we've built out RealWorld
- **James Brewer** (docs contributor to Django) for countless brainstorming sessions, helping name this project, and creating the Django codebase + tutorial

# License
All of the codebases are **MIT licensed** unless otherwise specified.

<br />

[![Brought to you by Thinkster](media/end.png)](
@@ -0,0 +1,60 @@
- title: Node / Express
repo: gothinkster/node-express-realworld-example-app
- title: Laravel
repo: gothinkster/laravel-realworld-example-app
- title: Django
repo: gothinkster/django-realworld-example-app
- title: ASP.NET Core
repo: gothinkster/aspnetcore-realworld-example-app
- title: Elixir + Phoenix
repo: gothinkster/elixir-phoenix-realworld-example-app
- title: Rails
repo: gothinkster/rails-realworld-example-app
- title: Kotlin / Spring
repo: gothinkster/kotlin-spring-realworld-example-app
- title: Flask
repo: gothinkster/flask-realworld-example-app
- title: Slim
repo: gothinkster/slim-php-realworld-example-app
- title: Spring
repo: gothinkster/spring-boot-realworld-example-app
- title: CakePHP
repo: gothinkster/cakephp-realworld-example-app
- title: Koa / Knex
repo: gothinkster/koa-knex-realworld-example
- title: Go + Gin
repo: gothinkster/golang-gin-realworld-example-app
- title: Rust
repo: gothinkster/rust-realworld-example-app
- title: GCP Cloud Functions + Datastore
repo: gothinkster/gcp-datastore-cloud-functions-realworld-example-app
- title: Hapi.js
repo: gothinkster/hapijs-realworld-example-app
- title: QEWD.js
repo: gothinkster/QEWD-realworld-example-app
- title: Moleculer
repo: gothinkster/moleculer-node-realworld-example-app
- title: F#
repo: gothinkster/fsharp-realworld-example-app
- title: Scala & Play Framework
repo: gothinkster/scala-play-realworld-example-app
@@ -0,0 +1,39 @@
- title: React / Redux
repo: gothinkster/react-redux-realworld-example-app
- title: Elm
repo: rtfeldman/elm-spa-example
- title: Angular
repo: gothinkster/angular-realworld-example-app
- title: React / MobX
repo: gothinkster/react-mobx-realworld-example-app
- title: AngularJS
repo: gothinkster/angularjs-realworld-example-app
- title: Vue
repo: gothinkster/vue-realworld-example-app
- title: Svelte / Sapper
repo: sveltejs/realworld
- title: ClojureScript + Keechma
repo: gothinkster/clojurescript-keechma-realworld-example-app
- title: ClojureScript + re-frame
repo: gothinkster/clojurescript-reframe-realworld-example-app
- title: AppRun
repo: gothinkster/apprun-realworld-example-app
- title: Crizmas MVC
repo: gothinkster/crizmas-mvc-realworld-example-app
- title: Aurelia
repo: gothinkster/aurelia-realworld-example-app
- title: Dojo 2
repo: gothinkster/dojo2-realworld-example-app
@@ -0,0 +1,18 @@
set -x
set -e

## Change into this script's folder
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR

node ./update-readme.js

git --version
git config --global ""
git config --global "Travis CI"
git checkout -b next
git add
git commit --message "Travis build: $TRAVIS_BUILD_NUMBER"
git remote add origin-next https://${GH_TOKEN}
git push --quiet --set-upstream origin-next next

0 comments on commit 94ada85

Please sign in to comment.