A comprehensive documentation platform for Java developers covering core concepts to advanced microservices architecture.
The Java Learning Platform is a static documentation site built with MkDocs and hosted on GitHub Pages. It provides comprehensive guides and tutorials on:
- Java Core
- Spring Boot
- Microservices
- Kubernetes
- Design Patterns
The documentation is automatically deployed to GitHub Pages using GitHub Actions. Here's how to work with this project:
- Python 3.8+
- pip
- Git
-
Clone the repository:
git clone https://github.com/mshemeel/java-learning.git cd java-learning -
Install dependencies:
pip install -r requirements.txt
-
Run the local development server:
mkdocs serve
-
Open your browser and navigate to
http://127.0.0.1:8000/
The documentation is automatically deployed to GitHub Pages when changes are pushed to the main branch. The deployment process is handled by GitHub Actions as configured in .github/workflows/deploy.yml.
To manually trigger a deployment:
- Go to the GitHub repository
- Navigate to Actions
- Select the "Deploy Documentation" workflow
- Click "Run workflow"
To set up a custom domain:
- Update the CNAME in the GitHub workflow file
- Configure your DNS settings as per the deployment guide
- Enable HTTPS in the GitHub Pages settings
java-learning/
├── java/
│ ├── java-basics.md
│ ├── java-oop.md
│ └── java-collections.md
├── spring-boot/
│ └── (Spring Boot documentation files)
├── kubernetes/
│ ├── kubernetes-basics.md
│ ├── kubernetes-deployment.md
│ ├── kubernetes-services.md
│ ├── kubernetes-config-secrets.md
│ ├── kubernetes-storage.md
│ ├── kubernetes-scaling.md
│ ├── kubernetes-monitoring.md
│ ├── kubernetes-security.md
│ ├── kubernetes-networking.md
│ ├── kubernetes-troubleshooting.md
│ └── kubernetes-best-practices.md
├── microservices/
│ └── (Microservices documentation files)
└── design-patterns/
├── design-patterns-principles.md
├── design-patterns-best-practices.md
├── design-patterns-j2ee.md
├── design-patterns-behavioral.md
├── design-patterns-structural.md
└── design-patterns-creational.md
- Java Basics - Fundamental Java concepts, syntax, and basic operations
- Java OOP - Object-oriented programming concepts in Java
- Java Collections - Java Collections Framework guide
- Kubernetes Basics - Introduction to Kubernetes concepts
- Kubernetes Deployment - Deployment strategies and configurations
- Kubernetes Services - Service types and networking
- Kubernetes Config & Secrets - Configuration and secrets management
- Kubernetes Storage - Storage concepts and volume management
- Kubernetes Scaling - Scaling strategies and autoscaling
- Kubernetes Monitoring - Monitoring and logging
- Kubernetes Security - Security concepts and best practices
- Kubernetes Networking - Networking concepts and configurations
- Kubernetes Troubleshooting - Debugging and problem-solving
- Kubernetes Best Practices - Production best practices
- Design Patterns Principles - SOLID, ACID, and 12-Factor methodology
- Design Patterns Best Practices - Best practices and guidelines
- J2EE Design Patterns - Enterprise Java design patterns
- Behavioral Patterns - Behavioral design patterns
- Structural Patterns - Structural design patterns
- Creational Patterns - Creational design patterns
- Begin with the Java Core section if you're new to Java
- Progress to Design Patterns to understand software design principles
- Move on to Spring Boot for web application development
- Learn Microservices architecture and patterns
- Finally, master Kubernetes for container orchestration
- Java Basics
- Java OOP
- Java Collections
- Basic Design Patterns
- Spring Boot Basics
- J2EE Design Patterns
- Microservices Fundamentals
- Basic Kubernetes Concepts
- Advanced Design Patterns
- Complex Microservices Patterns
- Advanced Kubernetes Features
- Production Best Practices
Please see CONTRIBUTING.md for details on how to contribute to this project.
This project is licensed under the MIT License - see the LICENSE.md file for details.
We value your feedback! Please submit any comments or suggestions through our feedback form or by creating an issue in this repository.
- Thanks to all contributors who have helped build this learning platform
- Special thanks to the open-source community for valuable resources
- Credits to various authors and organizations whose work has inspired this content