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

Modularize beans; split on interfaces #31

Open
nic-hartley opened this issue Nov 10, 2018 · 0 comments
Open

Modularize beans; split on interfaces #31

nic-hartley opened this issue Nov 10, 2018 · 0 comments
Labels
code cleanup Removing technical debt discussion wanted We need to talk about this

Comments

@nic-hartley
Copy link
Member

Section

Code architecture; specifically, how beans work.

Problem

Right now, all of the various classes are very tightly bundled together -- things depend directly on ExhibitQueryBean, which directly hits PostgreSQL, and (will shortly, at time of writing) on S3Bean, which directly hits S3. This makes substituting in other methods of storing data (different databases, etc.) difficult without extensive modification to the codebase.

Solution

Define interfaces and autowire those in instead; then people could load whichever implementation they want with configuration options. It would make the backend much more adaptable, and much easier to fit into existing setups.

Additional notes

Let's avoid reinventing JPA, though, please?

@nic-hartley nic-hartley added discussion wanted We need to talk about this code cleanup Removing technical debt labels Nov 10, 2018
@nic-hartley nic-hartley added this to the Open Source milestone Nov 14, 2018
@nic-hartley nic-hartley modified the milestones: Beta, Public Production Dec 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code cleanup Removing technical debt discussion wanted We need to talk about this
Projects
None yet
Development

No branches or pull requests

1 participant