Alright, the project is not perfect, but you might appreciate some feedback anyway.
Comments on the functionality
- Sign in doesn't seem to do anything and a first login with a new user fails somewhat disastrously. I had to use one of your existing users to test the application.
- The attachment and image buttons bellow rich text seem to do the same thing.
- Hover is a bad practice, because of touch devices. I'd show the tools for message (up, down, delete) all the time.
- The code block in rich text is black text on dark gray background. Not nice to read.
- The profile edit seems to lack some way back to the chat application.
Comments on the technical solution
- There are 2 warnings in the build 😠
- There's a lot of commented out or unused code. The whole
InputBox component and it's container doesn't seem to be used anywhere.
- The eslint gets in the way (at least in my IDE) and is pretty much useless, since vast majority of your solution is in TypeScript.
RichTextEditorContainer is a rather poor name for the container - the functionality is way too specific. It's more of a MessageEditor, from what you could extract some bits to a reusable rich text editor component.
- Normally, you'd inject the services into the thunk actions the same way you inject
storage to the persistService. The extra argument of thunk middleware does the job as well, however all thunks now get all services, what could make the architecture a bit messy. Provided you had more than 1 service, of course.
Nonetheless, you put some effort into the project and I can't see the point in keeping you from your finals. I hope both of you enjoyed the course and learnt something new.
Alright, the project is not perfect, but you might appreciate some feedback anyway.
Comments on the functionality
Comments on the technical solution
InputBoxcomponent and it's container doesn't seem to be used anywhere.RichTextEditorContaineris a rather poor name for the container - the functionality is way too specific. It's more of aMessageEditor, from what you could extract some bits to a reusable rich text editor component.storageto thepersistService. The extra argument of thunk middleware does the job as well, however all thunks now get all services, what could make the architecture a bit messy. Provided you had more than 1 service, of course.Nonetheless, you put some effort into the project and I can't see the point in keeping you from your finals. I hope both of you enjoyed the course and learnt something new.