1. A computer-implemented method comprising: receiving, by a computer from a first client device, an upload request from a user to store a first electronic document and further receiving the first electronic document from the first client device, wherein the upload request further comprises additional information regarding the first electronic document; categorizing, by the computer, the first electronic document according to a selection on a graphical user interface of the first client device of a category type of the first electronic document in the upload request; associating, by the computer, additional information received from the upload request with the first electronic document; storing, by the computer, the first electronic document into an electronic document database storing one or more electronic documents; automatically associating, by the computer, the first electronic document with a set of user attributes corresponding to the user identified in the additional information; upon automatically associating the set of user attributes, deriving, by the computer, knowledge from the first electronic document by retrieving and processing raw data in the first electronic document using data mining techniques and tagging and indexing the first electronic document based on the set of the user attributes and the additional information; storing, by the computer, the knowledge derived from the first electronic document in a knowledge database, wherein the knowledge database stores the knowledge comprising tags and references associated with the set of user attributes; receiving, by the computer, via a search engine from a second client device, a request for a second electronic document from the electronic document database, wherein the request comprises a set of search attributes corresponding with the second electronic document; upon identifying, from the electronic document database, a third electronic document corresponding to the set of search attributes, identifying, by the computer from the knowledge database, knowledge corresponding to the set of search attributes and at least a fourth electronic document that corresponds to the knowledge corresponding to the set of search attributes; and displaying, by the computer, the third and fourth electronic documents on the second client device.
1. A computer-implemented method comprising: receiving, by a computer from a first client device, an upload request from a user to store a first electronic document and further receiving the first electronic document from the first client device, wherein the upload request further comprises additional information regarding the first electronic document; categorizing, by the computer, the first electronic document according to a selection on a graphical user interface of the first client device of a category type of the first electronic document in the upload request; associating, by the computer, additional information received from the upload request with the first electronic document; storing, by the computer, the first electronic document into an electronic document database storing one or more electronic documents; automatically associating, by the computer, the first electronic document with a set of user attributes corresponding to the user identified in the additional information; upon automatically associating the set of user attributes, deriving, by the computer, knowledge from the first electronic document by retrieving and processing raw data in the first electronic document using data mining techniques and tagging and indexing the first electronic document based on the set of the user attributes and the additional information; storing, by the computer, the knowledge derived from the first electronic document in a knowledge database, wherein the knowledge database stores the knowledge comprising tags and references associated with the set of user attributes; receiving, by the computer, via a search engine from a second client device, a request for a second electronic document from the electronic document database, wherein the request comprises a set of search attributes corresponding with the second electronic document; upon identifying, from the electronic document database, a third electronic document corresponding to the set of search attributes, identifying, by the computer from the knowledge database, knowledge corresponding to the set of search attributes and at least a fourth electronic document that corresponds to the knowledge corresponding to the set of search attributes; and displaying, by the computer, the third and fourth electronic documents on the second client device. 13. The method according to claim 1 , wherein the request for the second electronic document comprises a selection of category type of the electronic document, wherein the category type is selected from the group consisting of: deliverable, groundwork, and reference.