13 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
e64d9bc511 List components (#31)
This PR contains multiple related components.
Addresses issues #18 #19  #20 #21 #22

_Issue: The colors defined in ListCard (https://www.figma.com/design/zFYdCdtEqACZmWwfnNRNY1/Studentportalen?node-id=2591-4546) are not accurate._
Reviewed-on: #31
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>
2025-12-18 12:41:12 +01:00
e359e1cf06 Text input component (#30)
Addresses issue #17

Note: TheSans is a commercial font I don't have access to.

Reviewed-on: #30
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>
2025-12-16 17:59:32 +01:00
4dc1b3f4c2 button-component (#29)
Button component.
Addressing issues  #15 and #16

Reviewed-on: #29
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>
2025-12-12 11:52:28 +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
e2a263ee03 Update automatic deployment action (#13)
Backward breaking changes in the deployment scripts that necessitates an upgrade to `v3`.

Reviewed-on: #13
Co-authored-by: Andreas Svanberg <andreass@dsv.su.se>
Co-committed-by: Andreas Svanberg <andreass@dsv.su.se>
2025-12-01 10:45:13 +01:00
6cab811014 npm audit fix (#7)
Reviewed-on: #7
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-09-04 12:48:08 +02: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
7252372330
Init 2025-03-29 19:52:51 +01:00