a6850d3d65
refactor(jobs): split JobService into JobRegistryService and JobOrchestrationService
2026-06-20 18:50:14 +01:00
7cee64beb3
refactor(stream): centralize stream directory resolution in DirectoryService
2026-06-20 18:38:47 +01:00
a0efa3eb8c
feat(stream): add streaming endpoint and indicator
2026-06-20 16:21:18 +01:00
2b1f8ce710
refactor(dto): move API DTOs
2026-06-20 16:04:19 +01:00
06f392a3ff
refactor(dto): use Record instead of Lombok data
2026-06-20 14:54:36 +01:00
637d6c94ed
feat(frontend): add edit clip page
2026-06-20 14:30:22 +01:00
fd1b0e19a1
feat(clips): add edit functionality for title & description
2026-06-20 14:23:50 +01:00
1062f72661
refactor(directories): improve error handling
2026-06-20 12:38:40 +01:00
37e9b6c1e7
refactor(directory): propagate dir creation error to caller
2026-06-20 01:27:51 +01:00
8602f65db7
fix(stream history): add auth missing checks
2026-06-19 23:26:11 +01:00
85615ebc54
fix(schema): mismatch column names for Stream
2026-06-19 23:09:05 +01:00
e60b6e36b2
fix(stream clip): blank section at start of clip
2026-06-19 23:00:09 +01:00
736142e8b3
refactor(stream): clip section extends save section
...
Add javadocs.
2026-06-19 22:48:53 +01:00
88d83be50a
feat(stream): implement clipping functionality
2026-06-19 22:30:30 +01:00
b55ba3ce51
feat(api): add error handling for save endpoint
2026-06-19 22:04:42 +01:00
bf59cb087f
feat(stream): implement section saving
2026-06-06 15:22:36 +01:00
8bc9044fab
feat(frontend): add profile page to view stream key
2026-06-06 13:25:35 +01:00
a928bb390f
fix: broken compose configuration
2026-06-04 22:19:45 +01:00
1dbc40d8e6
feat(stream): connect nginx with backend with controllers
2026-05-18 22:27:49 +01:00
c70cd3f939
fix(db): remove auto-drop
2026-05-17 22:30:35 +01:00
a74e5d1453
build(properties): missing properties for db
2026-05-17 21:16:19 +01:00
7eb4f1d34e
build: move postgres credentials to env
2026-05-17 20:49:04 +01:00
09ec5cf09c
fix: incorrect docker deployment
2026-05-14 20:27:27 +01:00
2e6679cb89
refactor(nginx): nginx only handles rtmp connections
...
Not longer handles frontend & backend. Partially for ease of development and also for separation of concenrs.
2026-05-14 20:20:37 +01:00
265a96acc1
feat: add Stream table & boilerplate
2026-05-03 12:51:32 +01:00
fe097c8ee7
build: add comprehensive docker files for frontend & backend
...
Update docker-compose.yml to include new Dockerfiles
2026-02-22 21:38:43 +00:00
f2596e75f0
fix(api): incorrect local CORS url
2026-02-22 01:00:57 +00:00
eed46cf266
Extract database clip saving into saveClip()
...
persistClip() had grown too large and handled multiple concerns.
This change moves the database save logic into saveClip(), making
persistClip() smaller and easier to refactor further.
2025-12-15 22:06:57 +00:00
65ec8cb29a
MOVE clip creation method from ClipService to JobService
...
The original clip creation method in ClipService handled many different services, like metadata handling, callback methods and more. Moving it to a more suitable location in the JobService allows it to easily access the Job object and update it upon failure.
2025-12-15 21:23:01 +00:00
0f5fc76e55
ADD unified metadata validation to the MetadataService
...
Validation was happening in two places, in both EditService and in MetadataService doing different validations. This unifies them both into a singular method
2025-12-15 21:19:53 +00:00
2d0d168784
ADD information-level logging to EditService
2025-12-15 20:28:27 +00:00
decf2703bd
RENAME "getProgress" to "getStatus" in EditService for accuracy
...
getProgress() returns a JobStatus object, not just progress-related information.
2025-12-15 20:01:50 +00:00
92cb9265ca
ADD job failed attribute to display failed status in API
...
If a compression processing job fails, the JobStatus object within the Job should update to reflect this fail.
2025-12-15 19:57:40 +00:00
f9daef9a4b
UPDATE constant name in DirectoryService for consistency
2025-12-15 19:57:40 +00:00
739d215c27
REMOVE deleteFile in DirectoryService and replace with local methods
2025-12-07 01:14:08 +00:00
08ef00c22e
UPDATE "endPoint" to "duration" in frontend to match backend
2025-12-07 01:05:18 +00:00
9ebf69a9e7
RENAME VideoMetadata to ClipOptions and update related references
2025-08-19 14:56:50 +02:00
85c9d4348c
REMOVE unused authentication parameters
2025-08-14 14:02:41 +02:00
10ebcd5479
ADD configurable JWT expiration time in UserController
2025-08-13 23:39:08 +02:00
dd1b5c26c0
REMOVE unused authentication beans
2025-08-12 15:43:49 +02:00
6433294ced
REFACTOR code to use Optional entity
2025-08-12 15:39:06 +02:00
19a78df4c6
PATCH missing Bruno config
2025-08-11 15:43:25 +02:00
0c11abc7b9
ADD Google OAuth login and logout functionality on frontend
2025-08-11 15:16:47 +02:00
Dylan De Faoite
662966f138
14 standardize and clean api and fix bruno configuration ( #25 )
...
* ADD JWT authentication support with token generation and validation
* ADD JWT handling after successful login
* ADD user authentication and standardize user retrieval
* COMBINE token dtos
* ADD JWT authentication filter
* IMPROVE token handling
* STANDARDIZE API endpoints and improve JWT handling
* REMOVE extra logging
* REMOVE redundant job existence checks
* UPDATE Bruno Google token
* REFACTOR some classes
* ADD JWT cookie check
* ADD AuthProvider and CORS configuration; UPDATE API endpoints for consistency
* ADD JWT validation check;
* ADD profile picture to database
* ADD reload after login to update page
* PATCH login issue
* REMOVE unused classes
* ADJUST logging in JwtFilter
* REMOVE unused React component
2025-08-10 22:41:37 +02:00
Dylan De Faoite
20f7ec8db4
Backend MP4 conversion ( #23 )
...
* ADD conversion queue
* ADD RemuxService for MP4 conversion
* REMOVE unused conversion queue
* REORGANISE Job-related classes
* ADD Job stages
* REVERT to old commit, using Spring Async instead
* ADD asynchronous processing for video tasks
* PATCH and streamline progress tracking
* ADD asynchronous video processing and job restructuring
* REFACTOR job service method
* ADD job remux functionality
* ADD remuxing endpoint
* PATCH complete flag not updating in API response
* ADD progress type in frontend
* ADD reset functionality for job status
* PATCH missing progress bar for subsequent exports
* REDESIGN settings box
* ADD tracking video file conversion in frontend
* PATCH extension bug
* REMOVE autowired decorator
2025-07-31 20:48:34 +02:00
Dylan De Faoite
338eb605fd
20 modularize the code to split up large classes ( #21 )
...
* MODULARIZE ClipService by introducing CompressionService, MetadataService, and ThumbnailService
* ADD deleteClip functionality to ClipController
2025-07-29 23:01:21 +02:00
Dylan De Faoite
f0a4eed381
17 clean up services structure ( #18 )
...
* Refactor ClipService and MediaService
* Refactor ClipService for less coupling to Jobs
* PATCH unnecessary requests in frontend
* REFACTOR MetadataService to use CommandRunner
* REFACTOR DirectoryService and UploadService
* REFACTOR ClipService
* MERGE MetadataService with MediaService
2025-07-26 22:21:56 +02:00
618c140449
REPLACE AtomicProgress with simple ProgressTracker
2025-07-23 00:18:25 +02:00
f6e6aae5c6
ADD user authentication checks for clip access
2025-07-23 00:00:45 +02:00
Dylan De Faoite
87ad7e3537
ADD thumbnail to database ( #12 )
...
* ADD thumbnail to database
* ADD thumbnail generation and retrieval functionality
* ADD thumbnail availability check in VideoCard component
* ADD ClipDTO to reduce exposed internals
* REFactor move APIResponse and VideoMetadata to dto package
* REMOVE unused props from VideoCard
* ADD isThumbnailAvailable function
2025-07-17 23:21:01 +02:00