Program to organize bibliographies and their citations together with file attachments (e.g. for images, documents). Multi-User capabilities together with basic encryption for most fields for entries marked as private. Written in Java, compatible with BibTex Standard (import and export).
General details:
Program capable of doing everything one needs for scientific research in terms of organizing bibliographies, quotations, files and information sources, including
- storing bibliography data (DONE),
- managing file attachments (Store and access files DONE, open files with OS Standard program DONE),
- exporting into open and human readable bibliography format bibtex (DONE),
- managing multiple users, including registration, login and encryption of private content (DONE)
- author/person organization (DONE)
- personal notes with file attachments for each user (DONE)
Technical details - Package Structure:
net.geoadel.bibcite - main package containing the calling class that starts the register / login GUI
cryptography - contains the implementation of jasypt, these methods are called by the database objects which take care of calling the appropriate encryption / decryption methods for their fields
datafields - some static datafields (like languages, bibliography types, preferences [should later be changed to user preferences])
database - contains the bridge to db4o so that objects can be stored, retrieved and deleted (huge class, may benefit from refactoring in storage, retrieval and delete classes)
databaseObjects - contains all the object types to be stored in the database - all need to extend dbObject as the root object containing all absolutely necessary fields
docType - contains some DocumentTypes for NumberDocuments (like restricting to 4 digits for a year-field, etc.)
Events - for now only used by JTree-events for the main selection JTreeView (not sure, if other events should be transfered here as well)
FileFilters - some file filters for JFileChooser (images, word documents, bibtex files, etc..)
GUI - all the graphical User interfaces
Images - some images I created for the project
ImportExport - import and export java files; for now only bibtex standard is supported [plus an additional custom field containing citations which can be imported, too)
Tools - some general tools for file and image manipulation plus a BaseN class that helps creating unique handles for the bibliography key
Technical details - Libraries:
- Database is the open source GPL3 variant of db4o, an object oriented database (www.db4o.com)
- String field encryption is provided by jasypt (Apache 2 License) jasypt.org [which needs the apache commons library lang]
Other details:
My first real life java project, not a professional programmer, entirely self learned by reading books and web pages. So if some important standards are not met, I apologize in advance. I tried my best to document this project as well as possible so that I will understand the structure in time to come still and others can dive into it quickly for learning or contribution.
View full history Series and milestones
trunk series is the current focus of development.
All bugs Latest bugs reported
-
Bug #845851: Blank bibliographies appear
Reported -
Bug #843286: Bibliographies show old related quotes though newer quote-version removed the relation
Reported -
Bug #842458: RelationManager list contains the object it manages itself
Reported -
Bug #842429: Bibcite won't start anymore after login/register
Reported -
Bug #841640: Date format (as in revisions and birthdates) is not easily human readable
Reported
All blueprints Latest blueprints
-
Bazaar version control - How to
Registered -
Code conventions (Java)
Registered -
OCR for scanning quote texts
Registered -
Code Test implementation
Registered -
Port to netbeans platform in order to simplify GUI development
Registered