- Getting Started
- Adding Items
- Managing Items
- Search and Filter
- Categories and Tags
- Keyboard Shortcuts
- Data Storage
-
Prerequisites
- Java 17 or higher installed
- Maven 3.6+ installed
-
Build the project
cd StudyLibrary mvn clean install -
Run the application
mvn javafx:run
On first launch, the application will:
- Create a
.documentvaultfolder in your home directory - Initialize empty JSON files for storing your data
- Display an empty library
- Click the "+ Note" button in the toolbar or use
Ctrl+N - Fill in the details:
- Title: Give your note a descriptive title (required)
- Description: Add a brief description (optional)
- Category: Select or create a category (optional)
- Tags: Add comma-separated tags (e.g., "java, programming, study")
- Content: Write your note content
- Markdown: Check this box if using Markdown formatting
- Click Save
Use cases:
- Lecture notes
- Study summaries
- Research notes
- Meeting minutes
- Click the "+ PDF" button or use
Ctrl+P - Click Browse to select your PDF file
- Fill in additional details:
- Title: Auto-filled from filename, can be edited
- Author: Document author
- Page Count: Number of pages
- Category & Tags: For organization
- Click Save
Use cases:
- Textbooks
- Research papers
- Course materials
- Reference documents
- Click the "+ Media" button or use
Ctrl+M - Enter the URL (must start with http:// or https://)
- Fill in details:
- Title: Name of the video/audio
- Media Type: Video, Audio, Podcast, Lecture, or Other
- Source: Platform name (e.g., YouTube, Coursera)
- Duration: Length in minutes
- Click Save
Use cases:
- Online lectures
- Tutorial videos
- Podcasts
- Educational YouTube channels
- Click the "+ Snippet" button or use
Ctrl+S - Enter your code or text snippet
- Specify:
- Title: Short descriptive name
- Language: Programming language or format (java, python, sql, etc.)
- Source URL: Where you found the snippet (optional)
- Click Save
Use cases:
- Code snippets
- Useful commands
- SQL queries
- Configuration templates
Double-click any item or select it and press Enter to open:
- PDFs: Opens in your system's default PDF viewer
- Media Links: Opens in your default web browser
- Text Snippets: Copies content to clipboard
- Notes: Opens in edit mode
- Select an item in the table
- Click the Edit button or double-click the item
- Make your changes
- Click Save
Changes are automatically saved to disk.
- Select an item
- Click the Delete button or press the Delete key
- Confirm the deletion in the dialog
Note: This action cannot be undone!
The search bar at the top right searches across:
- Item titles
- Descriptions
- Content (for notes and snippets)
- Tags
- Categories
- Authors (for PDFs)
- Sources (for media)
Simply type your search query and the table updates in real-time.
Use the category dropdown to view only items from a specific category.
Use the type dropdown to filter by item type:
- Notes
- PDF Documents
- Media Links
- Text Snippets
You can combine search text with category and type filters for precise results.
Example: Search for "java" with type filter set to "Text Snippet" to find all Java code snippets.
Click Clear Filters button or use Ctrl+L to reset all filters.
Categories are single-classification labels for items. Each item can have one category.
Managing Categories:
- Categories can be created when adding/editing items
- Future version will include a dedicated category manager
Use cases:
- Course names (CS101, Math200)
- Topics (Algorithms, Databases)
- Projects (Project A, Thesis)
Tags are flexible, multi-value labels. Each item can have multiple tags.
Best practices:
- Use lowercase
- Be consistent
- Keep tags short
- Use commas to separate multiple tags
Example tags:
important,review,examchapter1,chapter2quick-reference,cheatsheet
| Shortcut | Action |
|---|---|
Ctrl+N |
Add new note |
Ctrl+P |
Add new PDF |
Ctrl+M |
Add new media link |
Ctrl+S |
Add new snippet |
Ctrl+L |
Clear all filters |
F5 |
Refresh view |
Ctrl+Q |
Exit application |
| Shortcut | Action |
|---|---|
Enter |
Open selected item |
Delete |
Delete selected item |
Double-click |
Edit selected item |
All data is stored in JSON format:
- macOS/Linux:
~/.documentvault/ - Windows:
%USERPROFILE%\.documentvault\
library-items.json- All your library itemscategories.json- Category definitions
Important: Regularly backup your .documentvault folder!
You can:
- Copy the folder to cloud storage (Dropbox, Google Drive)
- Use version control (git)
- Create manual backups periodically
The application automatically saves:
- When you add a new item
- When you edit an item
- When you delete an item
- When the application closes
You can view and edit the JSON files directly if needed:
- Navigate to the storage directory
- Open
library-items.jsonorcategories.jsonin a text editor - Make changes carefully (invalid JSON will cause errors)
- Restart the application to see changes
To move your library to another computer:
- Copy the entire
.documentvaultfolder - Paste it in the same location on the new computer
- Launch the application
- Use consistent naming: Develop a naming convention for titles
- Tag everything: Tags make searching much easier
- Categorize wisely: Don't create too many categories
- Add descriptions: Brief descriptions help when searching
- Create categories for each course
- Use tags for chapter numbers and topics
- Add lecture videos and PDFs immediately after class
- Store snippets of important formulas and code
- Organize papers by topic or research area
- Tag papers with keywords from abstracts
- Store notes about each paper
- Link to online resources and datasets
- Store useful code snippets with language tags
- Save links to tutorials and documentation
- Keep project-related notes organized
- Tag items by technology stack
- Verify Java 17+ is installed:
java -version - Check that JavaFX is properly configured
- Look for error messages in the console
- Check file permissions in
.documentvaultfolder - Verify disk space is available
- Check for JSON syntax errors in data files
- Verify the file still exists at the stored path
- Check you have a PDF viewer installed
- Try opening the PDF directly from file system
- Check your internet connection
- Verify the URL is correct
- Ensure you have a default browser set
You can modify the appearance by editing:
src/main/resources/css/application.css
The codebase is modular and well-documented:
- Add new item types by extending
LibraryItem - Customize the UI by modifying FXML files
- Add new filters in
MainController
The JSON storage format makes it easy to:
- Import data from other applications
- Export to other formats
- Create backup scripts
- Integrate with note-taking apps
For issues or feature requests:
- Check this guide first
- Review the README.md file
- Check the source code documentation
- Create an issue in your version control system
v1.0.0 - Initial Release
- Four item types (Notes, PDFs, Media, Snippets)
- Full CRUD operations
- Search and filter functionality
- Category and tag system
- Auto-save feature
- Clean, modern UI