@@ -4,32 +4,45 @@ run with docker-compose
44
55 docker-compose up --build
66
7+ access the react frontend at
8+
9+ http://localhost:3000/
10+
11+ ## TODO's
12+
13+ - Proper Input Validation on the react client side
14+ - A LOT of error handling on the react side (EventSource onError - fetch errors etc, check HTTP status codes )
15+ - Monitoring of the springboot app (actuator)
16+ - two stage build for spring docker image
17+ - CSS!!! - i seriosly did run out of time - i would have grabbed a few nice tailwind components
18+ - implement some proper test cases for the backendA API
19+ - run tests as part of the build stage
20+ - add send and recipient props on message
21+ - add SECURITY - this chat is wide open
22+ - add some nginx proxy in front of the react app and the backend app
23+ - add swagger for the backend api
24+
725## API Usage
826
27+ get all chats in a specific channel
28+
929[ GET]
1030
1131 http://localhost:8080/chats/stream?channelId=1
1232
33+ add a new chat entry
34+
1335[ POST]
1436
15- http://localhost:8080/chats
37+ http://localhost:8080/chats
1638
1739Content-Type application/json
1840
1941 {
2042 "message":"hello",
2143 "channelId":1,
22- "sender":"sender",
23- "recipient":"recipient"
24-
2544 }
2645
2746## References
2847
2948https://medium.com/hacktive-devs/building-the-backend-of-chat-applications-with-spring-webflux-and-reactive-mongodb-26347a1ddce4
30-
31- ## TODO's
32-
33- - Proper Input Validation on the react client side
34- - Generally a lot of error handling on the react side (EventSource onError - fetch errors etc, check HTTP status codes )
35- - Monitoring of the springboot app (actuator)
0 commit comments