Harsh Wardhan
Identity: Knowledge OrganizationOpen SourceActive Development

Java Knowledge Base

Structured Open-Source Java Documentation & Engineering Vault

Engineering Challenge

“How do you learn Java in a structured way that compounds over time?”

Developer•Active Development•Creator & Maintainer•2024–Present
Dual StructureObsidian + IDEVault & Source
CLI Projects3SMS, Inventory, Vending
ProgressionChapterOOP to Algorithms
RepositoryOpen SourcePublic Learning
Java Knowledge Base
01 Learning Philosophy

Overview & Philosophy

Educational content for programming languages often separates conceptual explanations from executable code. The Java Knowledge Base unifies these domains by linking Obsidian markdown notes directly with IDE-compilable Java packages, covering core OOP principles, memory models, collections, and algorithmic problem solving.

Core Learning Philosophy

Learn by explaining concepts cleanly in markdown notes, then immediately implement them as compilable Java source code and standalone CLI applications.

02 System Architecture

Repository & Knowledge Structure

Dual-Domain Structure

docs/ (Obsidian conceptual guides linked via vault syntax) <-> src/ (chapter-based compilable Java source) <-> projects/ (standalone CLI apps).

Knowledge Progression: Structured chronologically into conceptual chapters: 01-Fundamentals, 02-OOP-Principles, 03-Collections-Framework, 04-Exception-Handling, 05-CLI-Applications.

03 Technical Rigor

Engineering Decisions

Decision #01 • Separating Notes from Executable Code
Problem:

Inlining long conceptual documentation inside Java docstrings polluted source code readability and IDE auto-complete.

Decision:

Separated docs/ (Obsidian markdown) from src/ (runnable Java) while mirroring directory and package structure across both.

Tradeoff:

Requires maintaining parallel folder organization when adding new topics.

Outcome:

Kept source files lean and compilation-focused while building a rich documentation vault.

04 Concept Reinforcement

Challenges & Solutions

Reinforcing Abstract OOP Concepts

Issue: Concepts like polymorphism and interfaces remain abstract until applied in non-trivial code contexts.

Decision/Solution: Built dedicated CLI engineering projects (Inventory Manager, Student Management System) specifically designed to test OOP patterns.

Future Docs Platform

What's Next

Interactive web-based documentation reader
In-browser code execution playground
Search index for quick topic reference
Retrospective Summary

Key Takeaways

Takeaway #01

Organizing knowledge for public teaching forces much deeper personal technical understanding.

Takeaway #02

Dual-purpose folder structures (Vault + IDE) keep explanations and executable code in sync.

Continue Exploring

Related Engineering Projects