This repository stores several versions of the database, API and client of the realworld app, for digital footprint measurements.
We've cloned and tweaked implementations of the realworld frontend and backend apps, so that they can work together and produce the exact same results (and pass the same tests).
You can use either one of the server implementations with either one of the frontend implementation.
rails
: based on https://github.com/gothinkster/rails-realworld-example-app, contains a SQLite DBnode-express
: based https://github.com/gothinkster/node-express-realworld-example-app, contains a MongoDB DB
react-redux
: based on https://github.com/gothinkster/react-redux-realworld-example-appvanilla-js-web-components
: based on https://github.com/gothinkster/web-components-realworld-example-app
Node, Docker
Choose a frontend and a backend, pass them as API_DIR
and CLIENT_DIR
environment variables, and call make install
. For instance:
API_DIR=node-express CLIENT_DIR=react-redux make install
Choose a frontend and a backend, pass them as API_DIR
and CLIENT_DIR
environment variables, and call make start
. For instance:
API_DIR=node-express CLIENT_DIR=react-redux make start
- open
http://localhost:8080
- for authenticated pages, use florian@marmelab.com / 1234
- make start
- make restore
- make test-open
Setup dockerized environment
- make setup-tests
- make restore
Then run automated tests
- make run-test
- in order to add a new front you should decorate html elements with
data-test-id
:home-menu
new-post-menu
signin-menu
settings-menu
publish-button
post-comment-button
signin-button
logout-button
global-feed-link
- modify code such that API root takes value
http://localhost:4000/api
when tests are run without Docker orhttp://api:4000/api
when tests are run in Docker - front PORT should be 8080