-
Notifications
You must be signed in to change notification settings - Fork 7
Use experimental web as default #333
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
2f1c6f5 to
c370c77
Compare
c370c77 to
68431da
Compare
a90d777 to
9355757
Compare
|
Hey @sepe81 maybe you have some little time to check this PR in small steps? Maybe you have an idea about the changes in gradlew.bat (EOL) and what do you think about the basic idea of how it is done in this PR with the frontend/backend split? |
|
The most changes here are the move from root to backend and the removal of the now unused "old" frontend. |
9355757 to
758dd74
Compare
758dd74 to
3861d34
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR migrates the project from the legacy Angular.js frontend to the modern Angular (experimental_web) frontend as the default implementation. The changes consolidate the two separate web implementations into a single modern frontend-backend architecture.
Key changes:
- Removed legacy Angular.js frontend files and replaced with Angular frontend as default
- Restructured project to use frontend/backend subdirectories with improved documentation
- Updated build configuration and CI workflows to support the new structure
Reviewed changes
Copilot reviewed 33 out of 124 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/resources/public/* | Removed all legacy Angular.js frontend files (HTML, JS, CSS) |
| frontend/* | Updated frontend configuration to support production deployment and proxy setup |
| backend/* | Added build tasks for frontend integration and updated editorconfig excludes |
| package.json | Updated root package.json with new author information and development scripts |
| README.md | Restructured documentation to reflect new frontend-backend architecture |
| .github/workflows/* | Updated CI workflows for new directory structure |
| .gitattributes | Added to enforce CRLF line endings for .bat files |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
backend/build.gradle
Outdated
|
|
||
| task buildFrontend(type: Exec) { | ||
| workingDir '../frontend' | ||
| commandLine 'pnpm', 'run', 'build:prod' |
Copilot
AI
Dec 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The buildFrontend task should include error handling or validation to ensure pnpm is available on the system before execution. Consider adding a doFirst block to check for pnpm availability and provide a helpful error message if it's missing.
| commandLine 'pnpm', 'run', 'build:prod' | |
| commandLine 'pnpm', 'run', 'build:prod' | |
| doFirst { | |
| def stdout = new ByteArrayOutputStream() | |
| def stderr = new ByteArrayOutputStream() | |
| def result = project.exec { | |
| commandLine 'pnpm', '--version' | |
| standardOutput = stdout | |
| errorOutput = stderr | |
| ignoreExitValue = true | |
| } | |
| if (result.exitValue != 0) { | |
| throw new GradleException( | |
| "pnpm is required to build the frontend but was not found on the PATH. " + | |
| "Please install pnpm (see https://pnpm.io/installation) and try running the build again." | |
| ) | |
| } | |
| } |
| this.searchService.fetch(pageIndex, pageSize, 'datePublished,desc', this.searchTerm).subscribe((response) => { | ||
| this.totalElements = response.totalElements; | ||
| this.dataSource = new MatTableDataSource(response.content); | ||
| this.addToMap(response.content); | ||
| }); |
Copilot
AI
Dec 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The subscription in loadPage lacks error handling. Add an error callback to handle potential HTTP errors gracefully and provide user feedback when data fetching fails.
| this.searchService.fetch(pageIndex, pageSize, 'datePublished,desc', this.searchTerm).subscribe((response) => { | |
| this.totalElements = response.totalElements; | |
| this.dataSource = new MatTableDataSource(response.content); | |
| this.addToMap(response.content); | |
| }); | |
| this.searchService | |
| .fetch(pageIndex, pageSize, 'datePublished,desc', this.searchTerm) | |
| .subscribe({ | |
| next: (response) => { | |
| this.totalElements = response.totalElements; | |
| this.dataSource = new MatTableDataSource(response.content); | |
| this.addToMap(response.content); | |
| }, | |
| error: (error) => { | |
| // Log the error for debugging purposes | |
| // eslint-disable-next-line no-console | |
| console.error('Failed to load page data', error); | |
| // Provide basic user feedback | |
| window.alert('Failed to load data from the server. Please try again later.'); | |
| }, | |
| }); |
sepe81
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@inpercima Could you please rebase with main and resolve the conflicts so we can continue with local testing?
May we keep the backend in the root directory without an extra subfolder to simplify the restructuring and the local Java build? |
|
This PR is from May, therefore I will rewrite it and adapt some things to current conditions.
Is the problem an IDE dependency? Your IDE or some other plugins/extensions search java for the root? Then I will change that. |
I think it’s more natural to run Gradle in the root of the project instead of constantly switching between the frontend and backend folders. The main build doesn’t require any directory switching. Furthermore, it reduces the complexity of the changes in this PR. |
3861d34 to
0558536
Compare
…and style them in new app
0558536 to
9e93ac4
Compare
c9d0ae1 to
df56e56
Compare
This PR moves the experimental web to used web interface for lvz-viz.
The problem with gradlew.bat deosn't exists anymore.