This is the UI component of Open Hospital: it contains a web user interface that consists of a React SPA (single page application).
This project depends on the API component that exposes business logic APIs implemented in the Core component.
This project is still in early stages. For a more mature user interface of Open Hospital, check out the GUI project.
This project is based on React. To learn React, check out the React documentation.
To install the project dependencies, issue:
npm i
It has to be done before any of the following activities
Please use .env.local
file to override .env.*
configuration.
Examples:
- you want to develop using real api instead of mocked: use this
.env.local
file
# .env.local
REACT_APP_USE_MOCK_API=
then npm start
- you want to connect your local dev environment to docker api:
# .env.local
REACT_APP_USE_MOCK_API=
REACT_APP_BASE_PATH=http://localhost:8080/oh-api
then docker-compose up database backend && npm start
npm start
You can run a full OH2 stack locally using Docker (required) using this command:
docker-compose up
Then you can access to:
- OH2 react app: localhost:3030
- Swagger api spec: localhost:8080/swagger-ui/index.html
- Phpmyadmin, for looking inside database: localhost:9000
npm run build:staging
Then connect to the Intesys VPN and open FileZilla.
If you haven't done it before followe those steps, overwise jump to the next paragraph:
1. In Filezilla we need to add a new connection clicking on "New site" button under Site Manager;
2. Those are the configuration required:
Protocol: SFTP
Host: prod72.intesys.it
Logon type: Key file
User: web
Key file: [path to id_rsa.pub]
3. Then connect to the server
Once you are logged in, go under /home/httpd/open-hospital/shared/public and replace the oh20 folder with the build folder.
Easy step:
git push intesys-remote develop
Old method:
npm run build:gh-pages
git commit
then
git subtree push --prefix build intesys-oh gh-pages
or
git subtree split --prefix build develop
git push intesys-oh GIT_ID:gh-pages --force
You can run a development build of the application by issuing:
npm start
To run unit tests, issue:
npm test
Run:
npm run e2e
it launches application in development mode and starts cypress, in a single process.
If you want more control over Cypress e2e tests, use two different processes: one for serving the app (process #1) and one for running the Cypress Test Runner (process #2). You can launch it by issuing the following commands in two different intances of your terminal:
//process #1
npm start
//process #2
npm run cypress:open
Once the app is compiled and served, and the Cypress Test Runner is launched, click on Run all specs
You can find the contribution guidelines in the Open Hospital wiki.
A list of open issues is available on Jira.
You can reach out to the community of contributors by joining our Slack workspace or by subscribing to our mailing list.