Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Currently, the site is hosted on scripts.mit.edu, which uses Apache to serve the HTML pages generated by the backend.

We went with a MySQL database structure because using a relational database was perfect for this kind of project, and MySQL was easy to configure with the Ruby on Rails backend.

The database holds information about the Users, Households, and Bills.

The Users table is used to hold all of the information pertaining to individual users, and their accounts. This table contains the following columns: username, password, household, and id. The idea here is that each user has a unique account, and users are grouped together into households. The Households table only contains an id column and a column titled 'household' that is a string of the household's name. Each bill in the Bills table has an id, name, due_date, creator_id, household, total_amount, category, and paid_all. The creator_id field holds the id of the user that created the bill.  The last column, paid_all, is used to tell if all of the users on a particular bill have paid their share. There is also a table called User_Bills that connects Bills to Users. This last table is necessary because the relationship between Users and Bills is many-to-many.

We decided to use HTML5 with CSS for the frontend because it made our implementation easier to construct. Ruby on Rails allows for the creation of dynamic HTML pages, which means that we can put content from our database directly into our HTML, depending on the users' requests

Evaluation

Users were given a briefing and then given each task individually as tasks are completed.

...