Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MVC-Architecture proposal #11

Open
grooviegermanikus opened this issue Nov 13, 2023 · 0 comments
Open

MVC-Architecture proposal #11

grooviegermanikus opened this issue Nov 13, 2023 · 0 comments

Comments

@grooviegermanikus
Copy link
Contributor

Meta

This design blueprint is proposed by @brianlong and should serve among others as starting point of discussion.

Model View Controller (MVC)

Built using a common MVC architecture for modular and maintainable code.

  • Router -- Receive client request, route the request to the appropriate controller, get formatted response from controller, send it to the client. Written as a stand-alone service so it is not tied to load balancer software (HAproxy, NGINX, etc).
  • Controller -- Get the request from the router, send it to backend, get the respsonse from the backend, send the response to the view layer for parsing, get the rendered view, and send the response to router to send back to the client.
  • Views -- Parse the backend response based on the client request. For example, jsonParsed TX + parsing from Anchor IDL. Requests for the default format of base64 will bypass the view later for better performance.
  • Model -- the backend data servers or validator RPC which will return data in base64 format.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant