Skip to content

Future Work

Marc Burgess edited this page Mar 20, 2020 · 8 revisions

This page hopefully gives some ideas to the next group (or anyone) who wants to contribute to our project some ideas on where they can take Split. Of course, you are more than welcome to try out anything you can think of!

Outstanding issues

New features

Different ways to split bills

Currently bills are only split evenly. Split could be extended by allowing multiple options for how a bill is split. There can be many ways this is done, such as by percentage, by items (for example if people order different priced meals at a restaurant) or even randomly if the users want a cheeky gamble.

Splitting across multiple bills

It would be nice to be able to log many bills, such as when a group a users go on a trip together. Then at the end, the app could settle all the bills and find a nice way to minimise the number of payments that need to be done. We have some research into a possible algorithm here.

User to user payments

The app could allow users to send other users payments and the bill could appear in both people's transactions list, as opposed to how bills are currently tracked now (linked to a single account).

Styling

You are more the welcome to add any style Split as you see fit. For example, bills could be colour coded and appear green if they are fully paid, red if there is still a transaction outstanding.

Deployment with retained user info

Currently, the database is rewritten every time we deploy. This is because the database is part of the Docker image that gets deployed (stored as a file in the same directory as the server source). To get around this, we could use a remote DB (Amazon RDB would do) or put the SQLite DB file in a different file location, which can be on a separate EBS Volume (basically a virtual hard drive) that rolls over between deployments. The latter would be the easier option as it would require no changes to code.

Marc Burgess can provide an IAM user for his personal AWS account that provides access to parts of the AWS Console necessary for contination.

Nice to have

  • Front-end unit tests for things such as the validation in the create bill form
  • Prevent SQL injections
  • Searching through bills by title, payees, amount outstanding etc.
  • Filtering by bills e.g. fully paid bills, outstanding bills only, bills >$50 etc.