Overview
Evidence Box is an online document management system that I wrote in high school to assist my debate club. It helped to organize the club's research and evidence collection. I recently helped my younger brother who is now in high school rewrite the site with a much more sophisticated interface. The program handled roughly 1000 documents per semester and saved considerable time while allowing people to easily find and retrieve the research they needed.
Description
The site supports the posting of research assignments by club leadership. Each student in the club has an account with various permissions. Students upload their documents onto the site when they are completed. Administrators can review the documents and make changes or write in a conversation thread for the document what changes the student has to make. Once a student uploads enough revisions that the document has reached a satisfactory level of quality, the administrators move the document to the publishing stage.
The publishing stage allows the administrators to tag the document with its topic, homework week, and other important information. Administrators then publish the document to the central repository. Students can filter on different tags and download from this central repository. Students are automatically granted access to the research files from a week to which they have contributed as an incentive for them to contribute. Users are able to view a summary of which homework weeks they have access to and what the status of their homework is.
The administrator panel allows for the manual configuration of numerous aspects of the site without accessing the database manually. It allows for the configuration of user accounts, changing which weeks users have access to, setting up the tag system, and changing aspects of the information for stored documents. New instances of the site can be deployed with very minimal manual database interaction.
Technology
- PHP, HTML, CSS, and Javascript
- MySQL database
- Newer site uses jQuery, JSON, and AJAX for enhanced interface