This project is a personal study project aimed at learning and exploring various technologies, including Spring Boot 4.0.x, Kotlin 2.3.x, and a wide range of modern tools and frameworks. Additionally, it includes the development of a blog application as a practical implementation.
See the full staged learning and engineering roadmap in docs/ROADMAP.md.
- Spring Boot 4.0.x
- Kotlin 2.3.x
- RabbitMQ
- Kafka
- JDBC
- JPA
- PostgreSQL
- Redis Cluster
- Valkey
- Elasticsearch
- Indexing
- HDFS
- Hadoop
- OAuth2
- MongoDB
- Neo4j
- Cassandra
- Docker
- Kubernetes (K8s)
- CI/CD Pipelines
- Observability
- Configuration Center
- Comprehensive testing strategies.
- Observability tools for monitoring and debugging.
- A blog application to apply and demonstrate the above technologies.
- Built with Kotlin and Spring Boot 4.0.x.
- Includes modules for:
- Web MVC
- Data JPA
- Validation
- Actuator for monitoring
- Uses H2 Database for development.
- Supports Gradle for build automation.
- JDK 25 or higher.
- Gradle (wrapper included).
- Navigate to the
backenddirectory. - Run the following command to start the backend service:
./gradlew bootRun
To build the backend:
./gradlew buildThe build artifacts will be located in backend/build/libs.
- Built with React and TypeScript.
- Uses Vite for fast development and build.
- Includes ESLint for code linting.
- Node.js (LTS version recommended).
- pnpm (preferred package manager).
- Navigate to the
frontenddirectory. - Install dependencies:
pnpm install
- Start the development server:
pnpm dev
To build the frontend:
pnpm buildThe build output will be located in frontend/dist.
- Build both the backend and frontend.
- Deploy the backend JAR file from
backend/build/libsto the server. - Deploy the frontend static files from
frontend/distto a web server.
- Kotlin 2.3.x
- Spring Boot 4.0.x
- RabbitMQ, Kafka, JDBC, JPA
- PostgreSQL, Redis Cluster, MongoDB, Neo4j, Cassandra
- Elasticsearch, Indexing, HDFS, Hadoop
- OAuth2
- React
- TypeScript
- Vite
- pnpm
- Docker, Kubernetes (K8s)
- CI/CD Pipelines
- Observability
- Configuration Center