- Notifications
You must be signed in to change notification settings - Fork2
Aquaveo/ngiab-client
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This app was created using an experimental Tethys + React app scaffold. It uses React for the frontend of the app and Tethys as the backend.
You need to install both the Tethys dependencies and the node dependencies:
- Install the app in Tethys Platform
conda activate tethyscd tethysapp-ngiabtethys install -d
- Install the node and dependencies
cd tethysapp-ngiabnpm install --dev
The webpack dev server is configured to proxy the Tethys development server (seewebpack.config.js
). The app endpoint will be handled by the webpack development server and all other endpoints will be handled by the Tethys (Django) development server. As such, you will need to start both in separate terminals.
- Start Tethys development server
tethys manage start
- Start webpack development server (in separate terminal)
npm start
Webpack is configured to bundle and build the React app into thetethysapp/<app_package>/public/frontend
directory. Before building a Python distribution for release, you should build using this command:
npm run build
Use the following commands to lint and test the React portion of the app.
npm run lintnpm run test
The linting capability is powered byeslint and a number of plugins for React. The testing capabilities includejest,jsdom,testing-framework,user-event, and a few other JavaScript testing utilties to make it easy to test the frontend of the React-Tethys app.
This implementation is based on the excellent work done by @Jitensid that can be found on GitHub here:Jitensid/django-webpack-dev-server.
Some resources and source code is also derived from projects generated usingCreate React App.