This document outlines the design and implementation of a system. It discusses breaking down the problem, defining the design in detail, using accurate algorithms and flowcharts, including usability features, employing appropriate data structures, creating a test plan, and testing to try to break the system using different test data.