Skip to content

Frontend pages#76

Open
Moltensnor wants to merge 20 commits intomainfrom
frontend-pages
Open

Frontend pages#76
Moltensnor wants to merge 20 commits intomainfrom
frontend-pages

Conversation

@Moltensnor
Copy link
Collaborator

Changelog

  • Made the template cache async for loading pages
  • added frontend router to render the frontend pages
  • split the server into 3 configurable ports for frontend/backend/ws (FE: 8888, BE: 9000, WS:9001)
  • improved authentication handling
  • added extra helper methods for generic websockets

This commit introduces the frontend router and updates the configuration properties.

- Adds frontend routing functionality.
- Updates default properties for frontend and backend ports.
- Integrates the frontend router into the MainVerticle.
Adds URL management endpoints:
- Get, create, update, delete URL keys.
- Implements backend V1 router for URL handling.
- Refactors URL classes for template/param support.
The template engine caching was improved to enhance performance and prevent stale data.

- Refactor cache loading logic
- Implement template hit counting
- Add list data caching

This commit addresses potential issues with template rendering and ensures that the template cache is up-to-date.
The package declaration in `AuthenticationVerticle.kt` was corrected to adhere to standard conventions. This change resolves a minor formatting issue and improves code consistency.

* Corrected the package declaration
- Update imports and auth handling.
- Use authProvider for JWT creation.
- Register codec for Pair.
The commit corrects package declarations and import statements in `BackendV1Router.kt`.

- Fixes inconsistent newline formatting.
- Updates package names and import statements to align with project structure.

This ensures proper module resolution.
The import statements in `DataAccessor.kt` were reordered and a `listCache` property of type AsyncExDockCache<JsonArray> was added. This change ensures correct dependency resolution and enables caching of JSON arrays.

- Reordered existing import statements.
- Added `listCache` property for JsonArray caching.
- Updated get() method to handle "list" type.
- Fetch and render dynamic content
- Handle missing URL parameters
- Fix error handling for URL requests
The change improves error handling for JDBC queries.

- Replaces generic error message with JSON object containing error details.
- Ensures errors are properly logged.

This prevents issues when a JDBC query returns no results.
The JDBCStarter.kt file had incorrect import statements.

- Corrected package imports.
- Removed unnecessary blank lines.

This ensures the correct dependencies are resolved.
The JsonElement extension functions contained extraneous newline and carriage return characters causing issues.

- Remove unnecessary newline characters
- Remove unnecessary carriage return characters
Adds ListVerticle for delegating list requests.

- Implements event bus communication.
- Delegates requests based on list name.
- Handles successful and failed requests.
The MainVerticle class was updated to:
- Update dependencies and imports for backend and frontend routers.
- Add websocket router.
- Update server ports configuration.
Adds a websocket endpoint for page preview.

- Implements a websocket router for handling page preview requests.
- Authenticates websocket connections using handleWebSocketAuthentication.
- Generates page code from templates and sends it to connected clients.
The template cache was refactored to use AsyncExDockCache.

- Replaced Caffeine cache with AsyncExDockCache
- Modified template processing to leverage new cache
- Removed hit counter logic

This change improves cache management and simplifies the TemplateEngineVerticle.
The request body was not correctly parsed when creating/updating URLs, causing errors.

- Update URL creation/update endpoints to correctly parse the request body using UrlKeys.fromJson().
- Use UrlKeys codec for event bus communication.
- Return updated UrlKeys object as document
This commit introduces `WebsocketHelper.kt` to handle websocket authentication.

- Implements authentication logic.
- Manages client connections and pools.
- Handles message processing after authentication.
This commit introduces a websocket router for handling real-time communication.

- Adds websocketRouter.kt to manage websocket routes.
- Enables websocket page routing.
- Adds a basic "/about" endpoint.

This enhancement sets the foundation for future websocket features.
This commit introduces a new verticle for handling websocket connections.

- Creates a basic WebsocketVerticle class.
- Sets up a succeeded future for initial deployment.

This provides a foundation for future websocket functionality.
@Moltensnor Moltensnor added this to the Beta release milestone Nov 14, 2025
@Moltensnor Moltensnor requested a review from rensPols November 14, 2025 13:56
@Moltensnor Moltensnor self-assigned this Nov 14, 2025
@Moltensnor Moltensnor added the enhancement New feature or request label Nov 14, 2025
@github-project-automation github-project-automation bot moved this to Backlog in exDock Nov 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant