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

New backends #7

Open
1 of 6 tasks
joeldevlearning opened this issue Aug 25, 2017 · 2 comments
Open
1 of 6 tasks

New backends #7

joeldevlearning opened this issue Aug 25, 2017 · 2 comments

Comments

@joeldevlearning
Copy link
Owner

joeldevlearning commented Aug 25, 2017

Expand the number of supported backends. Consider the following:

  • InMemory (no backing file)
  • XML
  • JSON
  • CSV
  • Entity Framework and SQLite
  • REST API, with support for multiple clients and call back
@joeldevlearning
Copy link
Owner Author

The InMemory functionality is now implicit (still no option to change storage, but all storage goes through the Model and this is the defacto InMemory storage).

Next, are the following tasks:
- refactor IDataSource into IStorage and modify XmlStorage to implement it
- create config option to switch between in-memory and Xml

@joeldevlearning
Copy link
Owner Author

IStorage needs to represent a data access object and probably needs only a few methods:

  • List findAll();
  • List findById);
  • List findByCanidateName();
  • boolean insertVoteRecord(VoteRecord vr);

Some questions:

  • Do you we need a transfer object? Or just List to pass around?
  • Should poller handle dealing with IStorage, or should the model? (Probably poller)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant