James Tattersall

Aspiring Software Engineer



Bill Ninja

For one of my optional modules in my first year at the University of Warwick, I chose to take a web development module, and as part of the assessment for this module, a task was set to create a bill splitting application intended for use by students living in shared housing. The task included 7 mandatory features, which contained the core features necessary for the system to be usable and useful, which accounted for 90% of the marks available, with a further 10% allocated for extra features beyond the specification. I implemented several extra features, including more customisable splitting (e.g. different amounts per person), a graphical representation of spending, full payment history and email notifications. Development of the system went relatively smoothly, with a few hitches encountered due to my lack of experience in the area at the start of development, particularly with some of the more complex DOM manipulation required, but these were all successfully overcome to produce the final solution.

The system was implemented using PHP and SQLite for the backend systems, and HTML, CSS, JavaScript and jQuery for the frontend. The frontend made extensive use of technologies such as AJAX to improve the user experience, and the system was designed to be as secure as possible using the resources available (HTTPS was not available due to the use of a shared server, and the software stack not under my control, with a severely outdated PHP version being in use). I feel I managed to create a very good solution which went above and beyond the specification to provide a very usable application, which with a few small modifications could easily be a commercial product. My final mark for the coursework was 97%.

Unfortunately the source code for this project is not publicly available due to plagiarism concerns.

Screenshots of the finished system are shown below.