https://github.com/marmelab/argos-realworld
App on docker to test and demo argos (based on realworld repos)
https://github.com/marmelab/argos-realworld
Last synced: about 2 months ago
JSON representation
App on docker to test and demo argos (based on realworld repos)
- Host: GitHub
- URL: https://github.com/marmelab/argos-realworld
- Owner: marmelab
- Created: 2020-09-16T09:50:33.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-03-02T10:47:33.000Z (over 4 years ago)
- Last Synced: 2025-04-21T06:08:45.450Z (about 2 months ago)
- Language: JavaScript
- Size: 1010 KB
- Stars: 6
- Watchers: 13
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# argos-realworld
This repository stores several versions of the database, API and client of [the realworld app](https://github.com/gothinkster/realworld), for digital footprint measurements.
## Included Versions
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.
### Backend
- `rails`: based on https://github.com/gothinkster/rails-realworld-example-app, contains a SQLite DB
- `node-express`: based https://github.com/gothinkster/node-express-realworld-example-app, contains a MongoDB DB### Frontend
- `react-redux`: based on https://github.com/gothinkster/react-redux-realworld-example-app
- `vanilla-js-web-components`: based on https://github.com/gothinkster/web-components-realworld-example-app## Requirements
Node, Docker
## Installation
Choose a frontend and a backend, pass them as `API_DIR` and `CLIENT_DIR` environment variables, and call `make install`. For instance:
```sh
API_DIR=node-express CLIENT_DIR=react-redux make install
```## Starting The App
Choose a frontend and a backend, pass them as `API_DIR` and `CLIENT_DIR` environment variables, and call `make start`. For instance:
```sh
API_DIR=node-express CLIENT_DIR=react-redux make start
```- open `http://localhost:8080`
- for authenticated pages, use [email protected] / 1234## To run e2e tests (with Cypress running on the host machine, and opening a browser)
- make start
- make restore
- make test-open## To run e2e tests (with a dockerized version of Cypress)
Setup dockerized environment
- make setup-tests
- make restoreThen run automated tests
- make run-test
## Notes for dev
- 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
or `http://api:4000/api` when tests are run in Docker
- front PORT should be 8080