New Angular based web version #1

Closed
thomas.nuyken wants to merge 150 commits from main into ddd

150 Commits

Author SHA1 Message Date
thomas.nuyken 267c4165dd Fix line endings in docker image
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is passing
2025-06-28 17:48:16 +02:00
thomas.nuyken ef1c1d8ba1 Fix resolver by always using local resolver 2025-06-28 17:46:14 +02:00
thomas.nuyken 8d4ae30224 Just go with one environment variable
continuous-integration/drone/push Build is passing
2025-06-28 16:54:14 +02:00
thomas.nuyken 02e7ed7030 Fix support for https and http endpoints
continuous-integration/drone/push Build is passing
2025-06-27 20:23:29 +02:00
thomas.nuyken 9595bedd8e Add support for https and http api url environment variable
continuous-integration/drone/push Build is passing
2025-06-27 19:50:42 +02:00
thomas.nuyken af661632cc Add docker dns resolver 2025-06-27 19:50:27 +02:00
thomas.nuyken 5062887010 Add console project to create data to migrate
continuous-integration/drone/push Build is passing
2025-06-27 19:14:50 +02:00
thomas.nuyken b41d5c5d33 Ensure correct sorting and thus also correct liter per 100km calculation
continuous-integration/drone/push Build is passing
2025-06-24 20:35:49 +02:00
thomas.nuyken 4b377ce9f4 Fix resource name to be a valid Aspire resource name 2025-06-24 20:35:26 +02:00
thomas.nuyken 5e084ab0a8 Fix recurring mock data
continuous-integration/drone/push Build is passing
Reusing the faker instance like I used to seems to (suddenly?!)
result in the same data, which newly results in a conflict response
2025-06-24 20:01:45 +02:00
thomas.nuyken 559804765b Use persons' first names for mock data to reduce chance of conflicts
continuous-integration/drone/push Build is failing
Vehicle models seems to have a high enough probability that it sometimes
fails
2025-06-24 19:43:44 +02:00
thomas.nuyken 5da1e2fd75 Make endpoint methods private which were not before
continuous-integration/drone/push Build is failing
2025-06-24 19:35:29 +02:00
thomas.nuyken ab32be98a6 Use concrete types
continuous-integration/drone/push Build is passing
2025-06-24 19:28:55 +02:00
thomas.nuyken 8681247e76 Adjustments for working deployment
continuous-integration/drone/push Build is passing
2025-06-24 19:12:29 +02:00
thomas.nuyken f6dbf489ad Dockerize web app
continuous-integration/drone/push Build is passing
2025-06-23 18:38:26 +02:00
thomas.nuyken eaa06029bb Reset selected car if it is deleted
continuous-integration/drone/push Build is passing
2025-06-23 16:53:11 +02:00
thomas.nuyken 9e16d6004a Fix liter per 100 km calculation for multiple cars 2025-06-23 16:50:07 +02:00
thomas.nuyken 0df7449a99 Add pgweb and pgadmin in development env 2025-06-23 16:49:52 +02:00
thomas.nuyken 7f61e011ed Add car name duplicate validation 2025-06-23 16:49:37 +02:00
thomas.nuyken 9c372b31a6 Add managing cars
continuous-integration/drone/push Build is passing
2025-06-23 16:20:44 +02:00
thomas.nuyken fd7a8024a9 Install dependencies before launching app
continuous-integration/drone/push Build is passing
2025-06-23 15:20:52 +02:00
thomas.nuyken 4a8e3d02e0 Fix date times
continuous-integration/drone/push Build is passing
2025-06-22 13:18:22 +02:00
thomas.nuyken f7af144275 Display consumption in liter per 100 km
continuous-integration/drone/push Build is passing
2025-06-22 12:36:19 +02:00
thomas.nuyken cb3c8c0d18 Include necessary info directly in get consumption entries response dto
continuous-integration/drone/push Build is passing
2025-06-22 11:51:38 +02:00
thomas.nuyken a997a3b825 Remove ignoreInCalculation from Frontend 2025-06-22 11:51:02 +02:00
thomas.nuyken c58f6fe364 Drop IgnoreInCalculation property
continuous-integration/drone/push Build is passing
2025-06-22 11:07:02 +02:00
thomas.nuyken 69bc76cab4 Add idempotent migration script
continuous-integration/drone/push Build is passing
2025-06-20 22:02:56 +02:00
thomas.nuyken 4b1f9e78df Fix paths in create migrations script 2025-06-20 22:02:25 +02:00
thomas.nuyken 4c00f868c7 Update READMEs
continuous-integration/drone/push Build is passing
2025-06-20 21:44:05 +02:00
thomas.nuyken 8b9ccdc694 Hide clear button for select which should always have a value
continuous-integration/drone/push Build is passing
2025-06-20 21:05:54 +02:00
thomas.nuyken b8d1fddd91 Remove time portion
continuous-integration/drone/push Build is running
No time is entered when creating / editing
2025-06-20 21:03:47 +02:00
thomas.nuyken 9246729edf Order cars by name 2025-06-20 21:02:38 +02:00
thomas.nuyken e13b5f2cdc Remove log messages 2025-06-20 21:02:05 +02:00
thomas.nuyken 63c7624a00 Persist and use selected car
continuous-integration/drone/push Build is passing
2025-06-20 20:45:08 +02:00
thomas.nuyken f58613d661 Remove unused variable
continuous-integration/drone/push Build is passing
2025-06-19 19:35:19 +02:00
thomas.nuyken d71e523074 Terminate task after debug ends
continuous-integration/drone/push Build is passing
2025-06-19 19:00:40 +02:00
thomas.nuyken 1c8e02b3fa Add error handling
continuous-integration/drone/push Build is passing
2025-06-19 18:56:49 +02:00
thomas.nuyken feadab4dff Sort entries both on the backend and frontend 2025-06-19 18:56:40 +02:00
thomas.nuyken 41c342bb0f Add more accurate loading skeletons 2025-06-19 18:56:24 +02:00
thomas.nuyken 2e3000c3fc Add loading entry data when updating an entry 2025-06-19 18:49:04 +02:00
thomas.nuyken 92e4da4b93 Add icons in card
continuous-integration/drone/push Build is passing
2025-06-19 17:42:14 +02:00
thomas.nuyken 5978a96dd7 Make date required and set today as default 2025-06-19 17:42:08 +02:00
thomas.nuyken b9375d66b6 Update imports
continuous-integration/drone/push Build is passing
2025-06-19 17:11:11 +02:00
thomas.nuyken b07b0c1f0f Make code more understandable
continuous-integration/drone/push Build is passing
2025-06-19 17:05:19 +02:00
thomas.nuyken fd9b9c7c2e Fix copied texts
continuous-integration/drone/push Build is passing
2025-06-19 15:04:27 +02:00
thomas.nuyken b6f9b5fb26 Remove unnecessary db roundtrip when deleting an entry 2025-06-19 15:04:09 +02:00
thomas.nuyken 87d81f98e9 Remove duplicate import and switch to css @use
continuous-integration/drone/push Build is passing
2025-06-19 14:49:27 +02:00
thomas.nuyken c5555b3003 Finish implementing editing and displaying entries
continuous-integration/drone/push Build is passing
2025-06-19 14:40:14 +02:00
thomas.nuyken d8f82bb2d1 Add entry filtering
continuous-integration/drone/push Build is passing
2025-06-19 13:38:40 +02:00
thomas.nuyken 390241aa53 Add sending entries to api 2025-06-19 13:38:29 +02:00
thomas.nuyken b323f7a29f Fix api clients 2025-06-19 13:38:15 +02:00
thomas.nuyken 8ca16936a8 Add special liter l for unit
continuous-integration/drone/push Build is passing
2025-06-19 12:45:38 +02:00
thomas.nuyken f0998c818a Add required marker for required form field 2025-06-19 12:45:28 +02:00
thomas.nuyken 0cf9f3cd0f Fix dropdown value mapping 2025-06-19 12:45:17 +02:00
thomas.nuyken b382446828 Add styling based in Weight Tracker UI
continuous-integration/drone/push Build is passing
2025-06-19 12:33:46 +02:00
thomas.nuyken 16318c70f7 Add and fix routes
continuous-integration/drone/push Build is passing
2025-06-18 21:29:24 +02:00
thomas.nuyken f173d46c2e Copy more stuff to make app compile
continuous-integration/drone/push Build is passing
2025-06-18 21:15:26 +02:00
thomas.nuyken 73fbe30b3d Add missing information on overview page for it to compile 2025-06-18 20:54:21 +02:00
thomas.nuyken 229bfe0b79 Add import paths 2025-06-18 20:54:04 +02:00
thomas.nuyken 321ffc3b7c Test querying all consumption entries and cars
continuous-integration/drone/push Build is failing
2025-06-16 21:05:48 +02:00
thomas.nuyken 0fa5b080d8 Add API models and clients manually 2025-06-16 21:05:07 +02:00
thomas.nuyken 85052df8a5 Add descriptions for endpoints for use in openapi 2025-06-16 20:34:09 +02:00
thomas.nuyken bcbf76fda6 Specify API returns types for swagger 2025-06-16 20:28:37 +02:00
thomas.nuyken b989c43ec3 Revert to using manually created api classes 2025-06-16 19:54:45 +02:00
thomas.nuyken cba564a811 Switch to Scalar swagger ui
continuous-integration/drone/push Build is failing
2025-06-16 19:52:04 +02:00
thomas.nuyken 297af2b95d Copy more from weight tracker
continuous-integration/drone/push Build is failing
2025-06-16 18:49:07 +02:00
thomas.nuyken 70acaf9738 Copy overview page structure from weight tracker
continuous-integration/drone/push Build is failing
2025-06-16 18:20:17 +02:00
thomas.nuyken 354d28d167 Fix dependencies
continuous-integration/drone/push Build is passing
2025-06-16 18:03:33 +02:00
thomas.nuyken 07ab1efbe5 Add build step for Angular
continuous-integration/drone/push Build encountered an error
2025-06-16 18:02:50 +02:00
thomas.nuyken 8a0776bc33 Add primeng
continuous-integration/drone/push Build is passing
2025-06-16 17:52:38 +02:00
thomas.nuyken 0baf50a2a2 Fix downgrade to Angular 19
continuous-integration/drone/push Build is running
2025-06-16 17:51:17 +02:00
thomas.nuyken 766d060707 Downgrade to Angular 19
continuous-integration/drone/push Build is passing
Multiple packages are not officially compatible yet
2025-06-16 17:25:06 +02:00
thomas.nuyken df93f8299f Update Angular launch profile
continuous-integration/drone/push Build is passing
2025-06-16 17:16:00 +02:00
thomas.nuyken b28bc04a53 Add http health check for Angular app
To have a better indication in the dashboard as to when the app has
actually started, because the dashboard otherwise displays a running
state after the launch command has been given, but then the app only
begins to compile and takes a few seconds to actually launch
2025-06-16 17:15:01 +02:00
thomas.nuyken 28148e4f69 Allow for the web app to be run separately to allow debugging
continuous-integration/drone/push Build is passing
2025-06-15 12:49:31 +02:00
thomas.nuyken 9fb0f584a6 Update launch configurations
continuous-integration/drone/push Build is passing
2025-06-15 12:33:52 +02:00
thomas.nuyken edafe0e4ec Fix API return type mismatch
continuous-integration/drone/push Build is passing
2025-06-15 11:30:03 +02:00
thomas.nuyken a1174e3b42 Expose swagger UI again 2025-06-15 11:29:46 +02:00
thomas.nuyken 4bf07b0972 Add editor config and apply code cleanup
continuous-integration/drone/push Build is passing
2025-06-15 09:36:52 +02:00
thomas.nuyken 7d6f85db82 Try fetching data from protected endpoint
continuous-integration/drone/push Build is passing
2025-06-14 20:30:47 +02:00
thomas.nuyken f426368d15 Use random port for web app 2025-06-14 20:30:00 +02:00
thomas.nuyken 5727707cce Add simply example for retrieving data from the api
continuous-integration/drone/push Build is passing
2025-06-13 20:13:06 +02:00
thomas.nuyken f00e3cdb6a Add npm app to Aspire resources 2025-06-13 20:12:43 +02:00
thomas.nuyken 20ba638b64 Fix server info endpoint not being accessibly without authentication 2025-06-13 20:12:26 +02:00
thomas.nuyken d80a53761d Generate Angular app 2025-06-13 19:48:07 +02:00
thomas.nuyken e29c5b2458 Return DateTimeOffset
continuous-integration/drone/push Build is passing
2025-06-13 19:39:46 +02:00
thomas.nuyken 7aa8599535 Update request localization 2025-06-13 19:39:37 +02:00
thomas.nuyken 16bc250789 Fix project name spelling
continuous-integration/drone/push Build is passing
2025-06-12 19:20:22 +02:00
thomas.nuyken 9847b6e6f7 Change assembly name constant spelling
continuous-integration/drone/push Build is running
2025-06-12 19:18:17 +02:00
thomas.nuyken ada0e2f665 Use custom activity source 2025-06-12 19:12:38 +02:00
thomas.nuyken b28bd2826b Keep db container after apps shutdown 2025-06-12 19:12:26 +02:00
thomas.nuyken a1999bfe41 Rename WebApi project to Vegasco.Server.Api
continuous-integration/drone/push Build is passing
And update all references including comments etc.
2025-06-12 18:23:09 +02:00
thomas.nuyken 9d71c86474 Fix broken swagger route 2025-06-12 17:58:50 +02:00
thomas.nuyken d91b837e44 Update packages, use explicit type, use Microsoft OpenApi package 2025-06-12 17:43:22 +02:00
thomas.nuyken b3ca1ba703 Remove experimental own test step
continuous-integration/drone/push Build is passing
2024-12-28 17:42:12 +01:00
thomas.nuyken 108960d074 Add debug
continuous-integration/drone/push Build is failing
2024-12-28 17:24:06 +01:00
thomas.nuyken 05686c4cdd Add own test step
continuous-integration/drone/push Build is failing
2024-12-28 17:20:10 +01:00
thomas.nuyken cb440e7c6d Use latest postgres version in integration tests
continuous-integration/drone/push Build is passing
2024-12-28 17:11:09 +01:00
thomas.nuyken 4ea0978cf6 Fix integration test database connection string
continuous-integration/drone/push Build is running
2024-12-28 17:10:36 +01:00
thomas.nuyken ff2707a0e8 Add Aspire documentation to README
continuous-integration/drone/push Build is failing
2024-12-28 17:08:01 +01:00
thomas.nuyken 6d23494fd3 Add Aspire orchestration
continuous-integration/drone/push Build is failing
Therefore remove previous OpenTelemetry configuration and use the one
provided in service defaults
2024-12-28 17:01:18 +01:00
thomas.nuyken bbac953660 Update legacy sln file
continuous-integration/drone/push Build is passing
2024-12-28 15:59:31 +01:00
thomas.nuyken 854be19fd5 Remove system tests
continuous-integration/drone/push Build is failing
2024-12-28 15:55:34 +01:00
thomas.nuyken cf1a086e31 Recover sln file and revert pipeline
continuous-integration/drone/push Build is passing
2024-12-28 14:32:34 +01:00
thomas.nuyken 918477fb3a Use prerelease docker images which work with slnx file
continuous-integration/drone/push Build is failing
2024-12-28 14:29:23 +01:00
thomas.nuyken 857863a4d8 Replace sln file with slnx
continuous-integration/drone/push Build is failing
2024-12-28 14:23:27 +01:00
thomas.nuyken 7a2c50cb9a Update vulnerable packages
continuous-integration/drone/push Build is running
2024-12-28 14:22:21 +01:00
thomas.nuyken 5d0a49632a Update .NET version in pipeline
continuous-integration/drone/push Build is passing
2024-12-27 19:25:19 +01:00
thomas.nuyken 0e065b58b7 Update packages
continuous-integration/drone/push Build is failing
2024-12-27 19:22:13 +01:00
thomas.nuyken 22f47f4461 Upgrade to .NET 9 and update nuget packages
continuous-integration/drone/push Build is failing
2024-12-01 19:26:54 +01:00
thomas.nuyken d6c75654b0 Use wrapper class for get all api endpoints
continuous-integration/drone/push Build is passing
To enable e.g. pagination in the future
2024-08-25 13:39:00 +02:00
thomas.nuyken 136dd2311d Prevent local test db to disappear on docker restart 2024-08-25 13:14:54 +02:00
thomas.nuyken 351a1a4635 Fix nested classes in open api document 2024-08-25 13:14:32 +02:00
thomas.nuyken 4db35dbdb5 Remove unnecessary migrations in integration tests
continuous-integration/drone/push Build is passing
2024-08-24 14:26:38 +02:00
thomas.nuyken d0704aea12 Fix permissions in Dockerfile
continuous-integration/drone/push Build is passing
2024-08-24 14:24:18 +02:00
thomas.nuyken 92e91de9c2 Include healthcheck in Dockerfile
continuous-integration/drone/push Build is failing
2024-08-24 13:50:03 +02:00
thomas.nuyken de7e9a7131 Tweak log levels for non-dev environments
continuous-integration/drone/push Build is passing
2024-08-24 13:44:23 +02:00
thomas.nuyken 6b422545d9 Remove migrations sql script 2024-08-24 13:43:58 +02:00
thomas.nuyken 4a1f1a5a67 Apply migrations on startup 2024-08-24 13:43:43 +02:00
thomas.nuyken d3d3675e3d Fix onfiguration documentation in README
continuous-integration/drone/push Build is passing
2024-08-24 13:20:29 +02:00
thomas.nuyken 88090878ee Include docker job in notification
continuous-integration/drone/push Build is passing
2024-08-24 12:55:25 +02:00
thomas.nuyken f410f69e9d Only report failures
continuous-integration/drone/push Build is passing
2024-08-24 12:46:33 +02:00
thomas.nuyken 036f4d1dfc Fix Dockerfile for nbgv 2024-08-24 12:46:27 +02:00
thomas.nuyken ea689bb7a1 Only build docker image on main
continuous-integration/drone/push Build is failing
For now
2024-08-24 12:39:30 +02:00
thomas.nuyken 4855336c33 Add docker build and push to pipeline 2024-08-24 12:36:15 +02:00
thomas.nuyken ad9391093d Update nbgv version config 2024-08-24 12:36:15 +02:00
thomas.nuyken 89afc435fc Remove broken dependencies
continuous-integration/drone Build is passing
2024-08-23 19:02:01 +02:00
thomas.nuyken 2d79b5a0bf Revert "Replace with gitea actions"
This reverts commit 70f47b0dd1.

# Conflicts:
#	.gitea/workflows/build.yaml
#	vegasco-server.sln
2024-08-23 18:56:01 +02:00
thomas.nuyken dcb82414b9 Add nbgv and add server info endpoint
Build Vegasco Server / build (push) Failing after 59s
2024-08-23 18:55:05 +02:00
thomas.nuyken d19d68f5a2 Setup docker in pipeline
Build Vegasco Server / build (push) Failing after 2m24s
2024-08-23 18:35:51 +02:00
thomas.nuyken 1c88d2b2c6 Exclude empty test project
Build Vegasco Server / build (push) Failing after 2m22s
2024-08-23 18:32:01 +02:00
thomas.nuyken 155ed22fb0 Explicitly specify package 2024-08-23 18:31:54 +02:00
thomas.nuyken 4a46c46222 Fix setting up pipeline
Build Vegasco Server / build (push) Failing after 2m34s
2024-08-23 18:20:35 +02:00
thomas.nuyken f4846bc66a Update on
Build Vegasco Server / build (push) Failing after 1m22s
2024-08-23 18:17:27 +02:00
thomas.nuyken 70f47b0dd1 Replace with gitea actions 2024-08-23 18:15:28 +02:00
thomas.nuyken e20f713fdb Add initial cicd yaml 2024-08-23 18:05:34 +02:00
thomas.nuyken 2463c11be3 Add consumption logic and endpoints 2024-08-23 18:02:18 +02:00
thomas.nuyken d47e4c1971 Add consumption entity and use strongly typed ids 2024-08-17 18:00:23 +02:00
thomas.nuyken 4bfc57ef9f Remove unused launch configs 2024-08-17 16:38:41 +02:00
thomas.nuyken 5c532a6bb5 Experiment with setting up system test docker services 2024-08-17 16:38:41 +02:00
thomas.nuyken 4f287d85dd Use full keycloak realm export from cli instead of partial export from web interface 2024-08-17 16:38:41 +02:00
thomas.nuyken 7f734aa2a2 Initial setup work for system tests 2024-08-17 16:38:41 +02:00
thomas.nuyken 81b5c89a25 Fix Dockerfile 2024-08-17 16:38:40 +02:00
thomas.nuyken 1d6ecfee6e Require oidc metadata url instead of individual values 2024-08-17 16:38:40 +02:00
thomas.nuyken 4be9fd2043 Update convenience scripts 2024-08-17 16:38:40 +02:00
thomas.nuyken 19b105b0e8 Add integration tests 2024-08-17 16:38:40 +02:00
thomas.nuyken ff2da66a22 Add unit tests 2024-08-17 16:38:40 +02:00
thomas.nuyken 877e7989cd Implement all car endpoints 2024-08-17 16:38:40 +02:00
thomas.nuyken a708ed25e7 Initial endpoint configuration with authentication 2024-08-17 16:38:40 +02:00
thomas.nuyken e579d76560 Create api project 2024-08-17 16:38:40 +02:00