This project develops a Document Vault client and server.  The purpose of the Vault is to enable insertion and extraction of text files to a remote location and to display information about their properties and relationships.  One might expect that authenticated check-in and versioning would be required, but are not for this project due to the time available for its implementation.   The Vault client displays information about its file categories and files in a Graphical User Interface (GUI) with several panes used to display some metadata properties and text of the current categories and file.  Clicking on a category or file makes that the current item.   For some applications document parent-child relationships are important, e.g., an Operational Concept Document has one or more Software Specification Documents (SSD)s as children.  An SSD has a Software Design Document (SDD) as a child.  Each SSD also has a Software Acceptance Test Document (SATD) child.   Child dependency relationships and file properties, including selected categories, are entered by the user when a metadata file is created.  As part of this project you will also build a tool used to find the parent relationships for each file in the repository.  The tool sequences through each metadata file and for every child records the current file as a parent in a map used for navigation.