This repository was 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
Expand file tree
/
Copy pathTODOs.txt
More file actions
194 lines (141 loc) · 6.3 KB
/
TODOs.txt
File metadata and controls
194 lines (141 loc) · 6.3 KB
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
******************
NEXT ITEMS (in no specific order)
******************
- [ ] Move the contents of DONE.txt and TODO.txt in github. Create Issues or whatever
- [ ] Upgrade to .Net 8 and see what we can get with the new rendering options.
- [ ] Get this repo presentable so I can open it to the public!
- [ ] [AI and Vectors] Search bar: it should save what the user typed and the embedding we
receive so so we don't need to constantly regenerate the embedding for questions!
- [ ] we should have a place in the DB to store the questions of the user. It's a
separate 'table' that would go in the vector db. Say user asks 'How many videos Speak of Watts?'
- [ ] Add domain events!
- [ ] When a playlist or a video are imported, they should trigger a domain event
- [ ] The Blazor client should pick that up and notify the user of the import status
- [ ] Integrate with REDIS for semantic search/RAG
- [X] Install a docker-stack (REDIS + UI)
- [ ] Figure out what to use as key for the collections and memories
- [ ] Figure out the best way to store all the data we have in the system:
- [ ] Find samples on the best ways to index this stuff
- [ ] Generate some test data with pre-vectorized information to save time/$ in tests.
- [ ] Finish the Semantic Kernel integration and make some basic stuff work
- see SemanticSearchWithMemoryStore test
- [ ] Consider using a folder structure for the prompts and skills of the app instead of the db.
In other words, let's follow the same structure as SK expects as it's easy to
work on even outside VS or the app.
- [ ] Add caching
- [-] I will start with in memory cache:
- [X] Add Redis at a later time.
******************
Non UI
******************
- [ ] At some point I will need to have Github:
- [ ] Run tests and abort commit if tests fail
- [ ] Deploy to Azure if tests pass
- [ ] Integrate Identity platform
- [ ] The database will need to be updated.
- [X] Maybe I switch long to int in the primary keys?
- [ ] Future: it's probably wise to make playlists work like a tree so we will
need to add a ParentId property or something at some point
- Verify we log the IP of the users and all that type of stuff.
- [ ] Ensure I can login at least with Google
- [ ] See if I can grab the YT user id and channelid from the claims
- [ ] Add authorization!!
- [ ] At the beginning it will probably be all allowed with the
exception of the developer/tester pages so there's really
a few roles to think about: ADMIN/USER/TESTER.
- [ ] Find out how to store secrets in Azure.
- [ ] CONSIDERATION: I don't need to have a full CI/CD pipeline working.
If I can do a simple manual deploy of sorts (from VS) it should be fine for
the time being.
- [ ] Documentation in code
- [ ] Documentation on github
******************
User interface
******************
- [ ] Add pages to edit:
- [ ] Playlist
- [ ] Video
- [ ] Main (card again?)
- [ ] Artifacts
- [ ] Transcripts
- [ ] Some control to add Tags
- [ ] Make the cards nicer:
- [ ] Playlist
- [ ] Video
- [ ] Remove Videos submenu and do the following:
- [ ] Add the following under Playlist
- [X] Create a 'All Videos' fake playlist (gray/system) which will
display all the videos
- [X] Create a 'Starred' fake playlist (gray/system) which will
display all the videos that have been starred
- [ ] Will need a change to VideoDTO and related query
- [ ] Create a 'History' fake playlist (gray/system) which will
display all the videos in order of last updated ?? created
- [ ] In the future we can add a 'Last Viewed' property too or
something like that.
- [X] [PLUS] This should address the issue with the menu items!
- [ ] Divide the Videos page:
- [ ] SearchBar should be reusable (component)
INPUT: TTYPE (Type)
- [ ] Search textbox and search Button with Voice detection
- [ ] Fulltext search options (component)
INPUT: TTYPE (Type)
- [ ] the type of FullTextSearch to perform (FreeText or Contains)
- [ ] A checkbox list dropdown of fields to search in our full text for a given TDTO
- [ ] Sorting options<TDTO> (component)
INPUT: TTYPE (Type)
- [ ] A drop down for sorting
- [ ] A drop down for sorting order (ascending or descending)
- [ ] A numeric box or drop down to select how many records per page to show
- [ ] Event callback or whatever for OnSearch, so it can notify the parent component
of all the options above
- [ ] Results page?
INPUT: TTYPE (Type)
TCARDTYPE
- [ ] Contains the base datagrid or datalist with all default property configurations
- [ ] Maybe make properties for thins like max- [ ] width, max- [ ] height, etc
- [ ] Exposes a data property for the binding
- [ ]
- [ ] Displays what is fetched after the OnSearch callback is invoked from the SearchBar
and excuted by the Videos page which contains such searchbar.
- [ ] Ideally it should display either either:
- [ ] Cards
- [ ] Infinite scroll
- [ ] Maybe grid?
- [ ] Displays the pagination component
- [ ] Add a way to star a video
- [ ] Playlists page should follow suit:
- [ ] Use the SearchBar component
- [ ] Use the Results component
- [ ] Add functionality for user button at the top of the screen
- [ ] Should show a sub menu with these options (similar to Chrome):
- [ ] Manage your Profile
- [ ] Settings
- [ ] Logout
- [ ] Add "Manage your Profile" page
- [ ] Hopefully the Identity screens will suffice?
- [ ] Add "Settings" page
- [ ] Should show at least
- [ ] Change password
- [ ] Change email
- [ ] Change profile picture
- [ ] Change theme (later)
[Definitely needs more]
- [ ] Add "Logout" functionality
- [ ] Implement Dashboard page
- [ ] Should show at least
- [ ] The number of playlists
- [ ] The number of videos
- [ ] The number of artifacts
- [ ] The number of lines for transcriptions
- [ ] The number of tags
[Definitely needs more]
- [ ] It would be nice to integrate a calendar (https://blazor.radzen.com/scheduler) so we
can see which movies we've seen in what day?
- [ ] Add Gravatar support for the profile picture (https://blazor.radzen.com/gravatar)
- [ ] Use ProfileMenu component to display the picture (https://blazor.radzen.com/profile-menu)
******************
Graphics
******************
- [ ] Need an icon for the web application
- [ ] Need a logo for the web application