AC Leap Referral App
ACLeap Referral is a standards-based web application platform for patients referral
- node.js
- Minimum version that the team has tested
- 16x
- Minimum version that the team has tested
- npm
- Minimum version that the team has tested
- 8x
- Minimum version that the team has tested
- yarn
- Minimum version that the team has tested
- 1.22.19
- Minimum version that the team has tested
- 'master' branch
- The application itself
- Clone the application using [https://github.com/chronic-care/acleap-referral.git]
- Checkout the 'master' branch
- With administrative privileges, run:
npm install yarn -g
- Run yarn to install (Note: Running 'yarn' is a shortcut for running 'yarn install'):
yarn
- To run the application on localhost, run:
yarn start
- Open the following URL in a browser to test the local version in our test sandbox:
- Login with credentials
- Select Patricia Noelle, the primary test patient to load sample data so that it can be displayed/used in the application
- .env is provided
- .env.local can be created in the root folder (same level as .env) to override the properties in .env if desired
- Note: This file is ignored by git
- In general, do not commit updates to 'package.json' unless:
- There is a valid and intentional dependency update
- e.g. New dependencies are added, old dependencies are removed, dependency versions are updated for security or for preferential reasons
- There is a valid and intentional dependency update
- In general, do not commit updates to 'package.json' unless:
- There is a valid and intentional dependency update to 'package.json'
- e.g. New dependencies are added, old dependencies are removed, dependency versions are updated for security or for preferential reasons
- If there is a valid update, and it causes changes to yarn.lock, ensure those changes are committed. This is why yarn.lock is in the repo, so that the entire team is exactly synchronized
- e.g. New dependencies are added, old dependencies are removed, dependency versions are updated for security or for preferential reasons
- There is a valid and intentional dependency update to 'package.json'
Development environment setup after modifying 'package.json', 'yarn.lock', or checking out a new version of either
- Check out 'master' branch if needed
- Delete 'node_modules' folder
- Pull updates if needed
- Run yarn to install
yarn
- Refresh or restart development environment if there are any issues
- To build with docker, run 'docker build .' from the root directory:
docker build .
- This will build a container which serves content on port 80. Run this container with:
docker run -i -p 8000:8000 <hash>
- Note: yarn.lock is required for the build to run correctly. Do not remove the relevant COPY command
- For consistent readability and isolated commit diffs, a specific style should be used for the project
- TODO: Create a ticket to:
- Define style
- Potentially define it with a lint file and/or with VS Code settings
- Lint can enforce the style but we would want to provide a way to keep the style synchronized in an automated fashion such as a script or by using the same development environment settings (e.g. using VS Code). It should be seamless so that one never sees a lint error to begin with simply by saving the file or running a script. Note: In VS Code this can even be done in real time as you type
- Define style
- TODO: Create a ticket to:
- A yarn error similar to, "cannot find module yarn.js" is presented
- With administrative privileges, run:
npm install yarn -g
- With administrative privileges, run:
- A React error states that dependencies are missing when attempting to run
yarn
ornpm install
- Attempt to create a new React app to ensure that React will work on your device in general
- Run the following:
npx create-react-app test
cd test
yarn start
- Ensure the app launches in a browser
- Open http://localhost:3000/ to view the test app
- If the test app works, navigate back to the acleap-referral directory
- Attempt to install the application
yarn
- If there are no longer any errors installing, run:
yarn start
- ...and continue from step 6 of Setup development environment
- If there are still errors installing, follow the directions in this Troubleshooting section titled, 'A yarn error similar to, "cannot find module yarn.js" is presented'
- Run the following:
- Attempt to create a new React app to ensure that React will work on your device in general
- Typescript errors are presented which do not allow the application to compile
- Obtain a working 'yarn.lock' file
- Follow the Development environment setup after modifying 'package.json', 'yarn.lock', or checking out a new version of either process to resolve