This repository has been archived by the owner on Aug 1, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Done.txt
151 lines (119 loc) · 6.35 KB
/
Done.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
******************
Non UI
******************
- [X] MAKE GITHUB REPO PUBLIC or invite selected few!
- [ ] Try again Weaviate (problem being looked into by Zain)
- [ ] Unify how I call FreeText and Contains (ELIMINATED SINCE WE ARE USING REDIS and SK)
- [ ] Scaffolding
- [X] QUery handlers in Sql Server infra asm
- [X] Learnt how to tweak the logging configuration intelligently.
- I can focus the logs on just waht I need very easily now!
- [X] Fixed an issue with DbContext: it was missing the ILoggerFactory service.
- [X] Refactor commands:
- [X] REMOVE CreateTranscriptCommand
- [X] REMOVE DeleteTranscriptCommand
- [X] add UpdateTranscriptCommand with limitations
- [X] Refactor transcript lines into a string
- [X] MASSIVE refactoring of ids led to finding several bugs! Big payoff/very pleased!!!
- The code looks much more solid now that id-types are used everywhere!
- Moved STIDs all the way up to the Application level (which is where most of thr bugs were found)
- And more. Aggregated command + (validator/handler) in Application.
- It's really clean since the implementation is almost all in Application.
The only exceptions are the Query handlers, which are storage specific and belong
in infra.
- [X] Create batch files to simplify scaffolding
- [X] AddNewMigration.bat
- [X] ReScaffoldFromScratch.bat
- [X] UpdateDb.bat
- [X] Create diagrams for:
- [X] The domain model
- [X] The database model
- [skipped] The application model
- [X] Add whatever fields we need to make the DB multi tenant.
- [X] Add Owner fields to all entities so we know who made what
- [X] R&D on how to do this:
- [X] There's something in the EF Core docs about this
- More to add:
-[X] CreatedOn/UpdatedOn
-[skipped] Vote (1 to 10 number)
-[X] IsStarred (already done)
- [X] Refactor E#F Core configurators to inherit from ImportedEntity
- Also added Entity. Look into SharedKernel for more info.
- [X] Resolve the issues with strongly typed ids
- Starteds with the information at https://andrewlock.net/using-strongly-typed-entity-ids-to-avoid-primitive-obsession-part-1/
- Then tried https://github.com/andrewlock/StronglyTypedId#installing
- Finally settled for 'public readonly record struct '. See https://www.ssw.com.au/rules/do-you-use-strongly-typed-ids/
- [X] Resolve the issue with the thumbnails and origin.
- [X] Also rename Thumbnail to ImageReference or something like that.
- [X] Refactor namespaces and assembly names
- The old naming Company.Product.Application and so on is not good. It's very redundant
and makes classes hard-er to follow than otherwise.
- This was a MASSIVE change, but thanks toi the tests all worked well!
- [X] Make sure we don't reimport objects repeatedly
- [X] Playlist duplication
- [X] Video duplication
- [X] Transcript duplication
- [X] Major cleanup of domain, EF Core schema and other things of this nature. This
follows the 'remove complexity' task.
- [X] I need thumbnails for Playlist as well. I also don't think I need 5 thumbs for Videos;
- [X] Consolidate the multiple thumbs into one and add it as Owned to both Playlist and Video.
- [X] Improve logging
- [X] Speed up the crap to get the transcripts at some point
- [X] Wait for queuing to be done before doing this
- [X] NEW: Generalize some interfaces and reduce complexity.
- See https://chat.openai.com/share/71433e49-94b4-4c7c-b0b3-f1189a2d32a7 for more info.
- [X] Make sure we return Result<> from all methods that should!
- Like IVideoHostingProvider
- [X] Add support for cancellation tokens in unit tests: the SLOWxxx tests don't
stop if I click the Stop button in VS.
- [X] Ability to queue jobes;
- [X] USE HANGFIRE? Do a little R&D on it
- [X] Video imports from YouTube (no tune ups for Transcript at this point)
- [X] Play list imports from YouTube
- [X] Remove my custom code for accessing the YT API and swap to the Google nuget package
- [X] Add logging
- [X] Add logging to files
- [X] Add logging to the console
- [X] Add logging to Seq
- [ ] R&D on application insights
- [ ] Add logging to application insights
- [X] Add the ability to Star Videos by adding an extra property
- [X] Requires rescaffolding the database
- [X] Add the ability to Star Playlists by adding an extra property
- [X] Requires rescaffolding the database
- [X] This is probably the best time to change the id from long to int!
******************
User interface
******************
DONE
- [X] Make the YouTube interface a single page deal instead of adding all those submenus:
- [X] The page would focus on importing videos from Youtube
- Sources:
- [skipper] The youtube playlists of user
- [skipped] I need the user's channel id from somewhere (maybe settings?)
- [moved] IMPORTANT: what happens if we continue reimporting the same playlist
over and over? We need to be sure we don't duplicate playlist and videos.
- [moved] At the very least it should warn the user that the playlist already exists
and ask if they want to continue by simply adding the new videos to the existing
playlist
- [moved] If the user accepts we would only import videos that are not already in videomatic.
- [moved] If the video is already in videomatic we would simply now link it to this
playlist (if it isn't already)
- [X] If the video is not alreayd in videomatic we would import it and then link it
to this playlist
- [X] A simple Youtube video URL
- [X] this can be either typed in a text box or dragged and dropped
- [X] A YouTube playlist URL
- [skipped] it would be nice if dragging and dropping would detect this
- [X] ultimately this would queue the import of videos and associate a playlist
tag to them for when the import is done.
- [skipped] The youtube history of user (future)
- [skipped] this might be an issue unless I OAUTH2 this crap
- [X] Provide a button to start queueing video imports
- [X] This will queue the import of videos from the sources above
- [X] This page should also display what is still being imported server side. (we have the /hangfire endpoint)
- [skipped] When videos are imported the user shluld get a notification in the UI
which allows him to go to the video or playlist which was just imported
- [skipped] Possibly send an email?
- [X] Finish resolving the issue with the Videos menu conflicting with those under
Playlists. It's basically highlighting by action uri