7 Commits

Author SHA1 Message Date
e1029f52a5 Start time grid (#62)
All checks were successful
Code style BFF / check (push) Successful in 42s
This PR addresses issues #23 #24 #25 and #26 and rearranges the component library

Reviewed-on: #62
Reviewed-by: Jacob Reinikainen Lindström <jacob@dsv.su.se>
Reviewed-by: Andreas Svanberg <andreass@dsv.su.se>
Co-authored-by: nenzen <nenzen@dsv.su.se>
Co-committed-by: nenzen <nenzen@dsv.su.se>
2026-01-16 14:17:07 +01:00
15329b1d52 Add Checkstyle and Prettier to BFF (#65)
All checks were successful
Code style BFF / check (push) Successful in 28s
This PR adds Checkstyle and Prettier configuration to BFF. It also adds a gitea action to run these.

Reviewed-on: #65
Reviewed-by: Andreas Svanberg <andreass@dsv.su.se>
Co-authored-by: nenzen <nenzen@dsv.su.se>
Co-committed-by: nenzen <nenzen@dsv.su.se>
2026-01-13 13:17:18 +01:00
e6439c244f Refactor BFF Package Structure (#64)
This PR
- Reorganizes BFF codebase into a cleaner layered architecture with separate packages for config, controller, dto/response, and service
- Upgrades Spring Boot from 3.4.4 to 4.0.1 (includes Spring Security 7 and Jackson 3)
- Enables CSRF protection for the SPA frontend
- Adds Accept-Language header support in frontend

Package restructuring:
- Move configuration classes (BackendApiConfiguration, FrontendConfiguration) to bff.config
- Move controllers (ProfileController, TestController) to bff.controller
- Move DTOs to bff.dto.response and rename Profile to ProfileResponse
- Extract ProfileService into new bff.service package
- Extract security configuration from main class into dedicated SecurityConfiguration

Security improvements:
- Enable CSRF protection with csrf.spa() for Single Page Application support
- Add PUT and DELETE to allowed CORS methods
- Add X-XSRF-TOKEN to allowed headers

Frontend middleware:
- Add includeCsrfToken middleware to automatically include CSRF tokens in POST/PUT/DELETE requests
- Add includeAcceptLanguage middleware to send browser language preferences (uses navigator language before profile is fetched)

Other:
- Minor code formatting improvements (checkstyle will be separate PR)

Reviewed-on: #64
Reviewed-by: Andreas Svanberg <andreass@dsv.su.se>
Co-authored-by: nenzen <nenzen@dsv.su.se>
Co-committed-by: nenzen <nenzen@dsv.su.se>
2026-01-12 17:38:53 +01:00
2ef4972862 Upgrade to Java 25 (#12)
Reviewed-on: #12
Reviewed-by: Stefan Nenzén <nenzen@dsv.su.se>
Co-authored-by: Andreas Svanberg <andreass@dsv.su.se>
Co-committed-by: Andreas Svanberg <andreass@dsv.su.se>
2025-12-04 14:57:19 +01:00
6eae49d2fe Automatic deployment of PR to test server (#4)
See it in action at https://studentportalen-branch-pr-deployment.branch.dsv.su.se/

Reviewed-on: #4
Reviewed-by: erth9960 <thuning@dsv.su.se>
2025-06-04 07:56:18 +02:00
5b6b7fd0ec Basic scaffolding of the frontend (#2)
The base comes from [`npm create vite@latest`](https://vite.dev/guide/#scaffolding-your-first-vite-project) project with [Prettier](https://prettier.io/) added.

It has been connected with the backend and authentication is in place.

Reviewed-on: #2
Reviewed-by: erth9960 <thuning@dsv.su.se>
2025-06-04 07:55:51 +02:00
a5f1b8b63e Basic scaffolding for the backend-for-frontend component (#1)
It's a standard Spring Boot web application so far. Has automatic OpenTelemetry tracing to help debug and spot potential performance issues. Uses [Apimposter](https://gitea.dsv.su.se/DMC/apimposter) to mock out backend API dependencies.

Reviewed-on: #1
Reviewed-by: Stefan Nenzén <nenzen@dsv.su.se>
2025-04-03 09:52:09 +02:00