Skip to content
lifeiscontentPublic

About

"The mother of all demo apps" β€” Exemplary fullstack Medium.com clone powered by Next.js and Ruby on Rails πŸ…

Topics

Resources

Code of conduct

Stars

164 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

1,347 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

realworld

Web Api Storybook

A RealWorld app with a GraphQL API. The GraphQL schema maps one to one to the RealWorld REST API.

Project Stack
api Ruby 4, Rails 8.1, graphql-ruby, action_policy, Postgres 18
web TypeScript, Vite, React 19, React Router 8 (SPA mode), Apollo Client 4, Storybook 10

The two projects deploy independently. Each project has its own mise.toml, so mise installs the correct tool versions in each folder.

Setup

Api

The API needs Postgres. Set DATABASE_URL if Postgres is not on localhost:5432.

cd api
mise install
bin/setup

bin/setup installs the gems, prepares the database, and starts the API on port 4000.

Web

cd web
mise install
pnpm install
pnpm dev

The app opens on http://localhost:5173 and uses the API on port 4000.

Tests

Api

cd api
bundle exec rspec

Web

cd web
pnpm test

pnpm test runs the Storybook stories as browser tests. To run the RealWorld e2e suite, start the API, then run:

cd web
TEST_MODE=fullstack pnpm exec playwright test

See web/docs/feature-development.md for the structure of the web app.

About

"The mother of all demo apps" β€” Exemplary fullstack Medium.com clone powered by Next.js and Ruby on Rails πŸ…

Topics

Resources

Code of conduct

Stars

164 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages