pdr-ws has been nightmarish to support, has had a lot of problems due to pdr-web + pdr-websockets requiring to be in-sync, and a lot of code is getting duplicated/fragmented against pdr-web.
Due to current OKR: pdr-web + pdr-websockets should be nearly-frozen for now.
I propose we take a look at the app stack so: it's more maintaneable, improves DRY violations, reduces fragmentation, makes complete app easier to deploy and ops. Right now @trizin has been helping to deploy it too... this could all be easily addressed by moving to a stack that's easier to manage.
Towards a solution:
Rather than building a pdr-fe-util lib to start addressing some of this problem... I think there is a solution to tech spike that would reduce this complexity by an order of magnitude, and increase the velocity to delivery by an order of magnitude.
Next.js is an incredibly powerful stack that should be able to reduce this problem to something incredibly simple that solves the problem.
Deploy next app as a UI client on vercel.
Deploy the same next app as a pure server/backend w/PK on prod vm.
All code in next UI + BE is shared in the same code base
Kill websocket and supporting another stack. It's now unnecessary (1)(2).
Final Outcome:
(1) and (2) are deployed in separate environments but share the exact same stack. PK is not shown to client. We leverage more of next.js native functionality.
(1) reads from (2)
DoD:
[ ] Do simple tech spike to prove separation of Client UI + Backend PK in next
[ ] Consolidate code across pdr-websockets and pdr-web
[ ] Cleanup code so that the latest/greatest implementations of everything are inside 1 repo
[ ] Building around FE + BE that requires PKs, can now happen more easily
will we use websocket as the communication method, or will we use polling/intervaling with HTTP requests?
(I am open to both of them, WebSockets are good but it brings some issues too)
Problem
I propose we take a look at the app stack so: it's more maintaneable, improves DRY violations, reduces fragmentation, makes complete app easier to deploy and ops. Right now @trizin has been helping to deploy it too... this could all be easily addressed by moving to a stack that's easier to manage.
Towards a solution:
Rather than building a pdr-fe-util lib to start addressing some of this problem... I think there is a solution to tech spike that would reduce this complexity by an order of magnitude, and increase the velocity to delivery by an order of magnitude.
Next.js is an incredibly powerful stack that should be able to reduce this problem to something incredibly simple that solves the problem.
Final Outcome:
DoD: