Commit Graph

155 Commits

Author SHA1 Message Date
f2596e75f0 fix(api): incorrect local CORS url 2026-02-22 01:00:57 +00:00
7c95f87b40 chore: remove HTTPS module in frontend 2026-02-22 00:45:41 +00:00
Dylan De Faoite
83aa6e230d Update README to remove user management section
Removed user management plans from the README as these have been implemented
2026-01-08 11:09:58 +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
Dylan De Faoite
53f8664b40 Update README with .env file setup instructions
Added instructions for creating .env files before starting the application.
2025-12-15 15:32:51 +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
d5017bb333 ADD example env files 2025-12-06 23:13:34 +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
e10335696b ADD navigation refresh after Google login and logout 2025-08-12 15:53:44 +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
fda43855cc PATCH scrolling issues after dropdown menu 2025-08-11 15:20:03 +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
4c49a1daf8 PATCH video start bug 2025-07-16 19:17:47 +02:00
Dylan De Faoite
5e7f216e2d Merge pull request #8 from ThisBirchWood/3-clip-saving
Implemented Clip Saving and page to view existing clips
2025-07-16 00:02:12 +02:00
aa7a57c2e4 REMOVE unnecessary exception stack traces 2025-07-15 23:59:39 +02:00
2600968c5a ADD live update for clip creation time 2025-07-15 15:51:50 +02:00
0fbb68fdb7 REFACTOR http requests in frontend 2025-07-14 23:06:27 +02:00
416da3281a ADD functionality to retrieve and display clips by ID 2025-07-14 13:36:26 +02:00
5fa4425f1b UPDATE session timeout 2025-07-12 19:18:18 +02:00
3f5d325efd ADD directory sharding for permanent clips 2025-07-12 19:12:25 +02:00
db9426ba1a REMOVE data initialization 2025-07-12 18:44:53 +02:00
9f8894798d ADD VideoPlayer component and implement video fetching functionality 2025-07-12 14:27:51 +02:00
e6d3b48855 ADD support for displaying months and years in time ago format 2025-07-10 00:05:53 +02:00
b19fd50dfa ADD time ago display to VideoCard component 2025-07-09 23:52:45 +02:00
87759c689a ADD duration overlay to VideoCard 2025-07-09 23:33:31 +02:00
16781aec04 ADD fallback thumbnail 2025-07-09 23:12:12 +02:00
c001a2a1a6 ADD functionality to fetch and display user clips in MyClips component 2025-07-09 22:57:54 +02:00
a78aecdfb6 ADD ClipController for clip retrieval 2025-07-09 21:57:23 +02:00
130938c56a ADD MyClips page and VideoCard component 2025-07-09 18:39:40 +02:00
c512f055ee Refactor FfmpegService to improve progress tracking and streamline command building 2025-07-09 18:25:51 +02:00
fa89c66260 REFACTOR clipService and ADD ffmpegService 2025-07-08 18:26:47 +02:00
6d4146ed85 ADD input structure for metadata 2025-07-08 18:11:41 +02:00