Skip to content

Build local web ui#365

Closed
lionel-nj wants to merge 56 commits intomasterfrom
build-local-web-ui
Closed

Build local web ui#365
lionel-nj wants to merge 56 commits intomasterfrom
build-local-web-ui

Conversation

@lionel-nj
Copy link
Copy Markdown
Contributor

@lionel-nj lionel-nj commented Sep 18, 2020

The content of this PR was migrated to #421

Summary:

This PR provides support to develop a local web ui based on the existing gtfs validator using spring boot, and react/

Expected behavior:

  1. Run the SpringBoot application:
    ./gradlew bootRun -> will start by default on server port 8080,

To run the web app :

  1. go to reactclient directory
  2. yarn start

image

Please make sure these boxes are checked before submitting your pull request - thanks!

  • Run the unit tests with gradle test to make sure you didn't break anything
  • Format the title like "Fix #<issue_number> - " (for example - "Fix Bug: Running using documented Docker documentation fails #1111 - Check for null value before using field")
  • Linked all relevant issues
  • Include screenshot(s) showing how this pull request works and fixes the issue(s)

@ghost ghost assigned lionel-nj Sep 18, 2020
@ghost ghost self-requested a review September 18, 2020 17:24
@ghost
Copy link
Copy Markdown

ghost commented Sep 18, 2020

Cool, looking promising. As discussed, next steps before possibly merging to master

  • remove hardcoded path to .json report file
  • setup .gitignore and possible file list cleanup (including purging git index and history)
  • restructure readme and add documentation regarding the code structure (added modules) as well as how to/setup fro a developer
  • research and implement minimal tests
  • modify GitHub workflow
    • build web related modules and code
    • run web related tests
    • packaging as a .jar

@ghost ghost marked this pull request as ready for review September 22, 2020 20:06
@ghost ghost marked this pull request as draft September 22, 2020 20:07
@ghost ghost added the local web ui label Sep 28, 2020
lionel-nj and others added 7 commits September 29, 2020 17:24
* Add support to allow CORS

* Add support to package web app as jar

-add dependency on client module
- add task to build jar in client module

* Adapt GitHub workflow to generate .jar from spring boot application

* Touch

* Modify default port for server launch

* Use relative default path to access validation report

* Modify GitHub workflow to run checks on different branch

* Reset hard coded path to validation report

* Remove support for CORS since irrelevant now

* Add configuration file to prevent generation of package-lock.json

https://www.codementor.io/@johnkennedy/get-rid-of-that-npm-package-lock-json-e0bj7ai42

* Add unit test to check get mapping in spring boot application

* Modify GitHub workflow

- persist jar of web app
- rework action names

* Modify build.gradle files to adapt name of built artifacts

* Prep next release

* Bump version number

* Add details for execution of bootJar command

* Update README.md and RELEASE.md with instructions regarding web app

* Update link to screenshot in documentation

* Implement #382 - Rework UI (#381)

* Rename file for clarity

* Add dropzone elements into UI

* Add support to render execution parameter configuration file within UI after drag and drop action

* web client: Add support to review exec param config file

* Implement builder pattern for DefaultConfig

* Add dependency to beautify json files

* Implement validation of GTFS archive

* Remove 80% opacity on dropzone

* Improve rendering of json content as table

* Add support on client side to handle fee validation

* Rename files according to conventions

* Disable caching

* Improve code modularity

- create Constants.js file to store constants
- create ApiRequest.js file to store functions used to call API

* Server: Implement method to get path to report

* Add eof line

* Server side: add unit tests

- test controller
- test service manager
- add exception handling

* remove redundant time consuming test

* Implement test of interface with jet

* Add dependency on librairies:
 - axios: http requests:
 - material-ui: progress circles

* - Leverage PostMapping in order to pass data to backend
- Rename methods to be consistent with http requests
- Add progress circle
- Add support to clear HTML on drop of other configuration file

* Additional unit tests

* Comment test to be fixed

* Add explicit call to method deleteTable to avoid no-unused-vars error

* Change validation success message for clarity

* Center display validation report report

* Add console comment to inform success of application start
  - add link to http://localhost:8090

* Add option --beautify

 - define said option as "true" by default
 - add new key to option list
 - adapt mechanisms to retrieve value
 - define default value in default-execution-parameters.json
 - adapt tests
 - write additional tests to verify said implementation
- Remove empty lines

* Block interface interactions when validation process is running

- add props.id to button for reference
- add commands to release/hold buttons and dropzone

* Modify GitHub workflow

* Remove unused script

* Make CircularProgress bigger

- keep only 1 CircularProgress
- change color to blue  (Default)

* Leverage JsonPretty to display examples of configuration files

* Adjust CSS for table rendering json configuration file

* Remove service worker usage

* Update icons and page title

* Update README.md

* Update README.md

* Remove unused components

* Adjust import statements

* Rename components

* Rename components

* Touch

* Rename module client->react client

* Rename module client->react client

* Reset GitHub workflow

* PR feedback

- fix typos
- improve documentation
- update GitHub workflow

* - update GitHub workflow
# Conflicts:
#	.github/workflows/gradle.yml
#	application/cli-app/build.gradle
#	config/src/main/java/org/mobilitydata/gtfsvalidator/config/DefaultConfig.java
Copy link
Copy Markdown

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're almost there, very neat!
A few changes inline

@lionel-nj lionel-nj linked an issue Oct 6, 2020 that may be closed by this pull request
Copy link
Copy Markdown

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few changes still needed. See inline

@lionel-nj lionel-nj mentioned this pull request Oct 21, 2020
4 tasks
@lionel-nj
Copy link
Copy Markdown
Contributor Author

lionel-nj commented Oct 21, 2020

This PR will be closed without merge. To follow-up the work done in, please refer to #421.

@lionel-nj lionel-nj mentioned this pull request Oct 21, 2020
4 tasks
@ghost
Copy link
Copy Markdown

ghost commented Oct 23, 2020

Content was migrated and merged through #421

@ghost ghost closed this Oct 23, 2020
@ghost ghost deleted the build-local-web-ui branch October 23, 2020 16:11
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant