Skip to content

zhangmengyang/CodeAlchemy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeAlchemy PKM

一个旨在深度实践现代Java技术栈的个人知识管理/效率工具平台

Java Version Spring Boot License Build Status Docker

这不是一个生产级应用,而是一个技术驱动的练手项目! 核心目标是深入学习和实践Java生态的流行技术与架构模式。

🌟 项目目标

  1. 技术熔炉: 深度集成并实践多种前沿Java技术栈。
  2. 技能提升: 提升Java后端开发、架构设计、DevOps及云原生能力。
  3. 构建实用工具原型: 创建一个可用的个人知识管理/效率工具雏形,管理笔记、书签、任务等。
  4. 文档驱动学习: 记录技术选型、实现细节与踩坑经验。

🚀 核心功能 (MVP+)

  • 用户认证与授权: JWT / OAuth2.0 (集成GitHub/Google登录)。
  • 知识单元管理:
    • 富文本/Markdown笔记的创建、编辑、删除、版本管理。
    • 网页书签收藏与管理(含元数据抓取)。
    • 待办事项(Todo List)管理。
  • 内容组织:
    • 标签(Tags)系统。
    • 文件夹/分类管理。
    • 全文搜索(基于Elasticsearch)。
  • (扩展) 文件管理: 上传/下载附件(集成对象存储如MinIO/S3)。
  • (扩展) 数据统计: 简单的知识库数据概览。

🛠️ 技术栈全景图 (持续集成中...)

本项目致力于集成以下技术,重点在于学习与实践

类别 技术选型 应用场景/学习点
核心框架 Spring Boot 3.x, Spring MVC, Spring Data 项目基石,依赖注入,REST API开发,数据访问抽象
安全 Spring Security 6.x, JWT, OAuth 2.0 Client (GitHub/Google) 认证、授权、资源保护、第三方登录集成
数据库 PostgreSQL (主存储), Redis (缓存/Session), Elasticsearch (搜索) 关系型数据存储、高频查询缓存、会话管理、复杂全文搜索
ORM Spring Data JPA (Hibernate), QueryDSL 对象关系映射、复杂查询构建
API RESTful, OpenAPI 3 (Swagger UI) API设计与文档化
消息队列 RabbitMQApache Kafka 异步处理(如邮件通知、附件处理、搜索索引更新)
微服务/云原生 Spring Cloud Gateway, Spring Cloud Config, Eureka/Nacos API网关、动态配置管理、服务注册与发现 (即使单体,也可模拟微服务模式练习)
容器化与编排 Docker, Docker Compose 应用及中间件容器化、本地环境编排
部署与CI/CD GitHub Actions / GitLab CI, Jenkins 自动化构建、测试、部署流程
监控与日志 Prometheus, Grafana, Micrometer, ELK Stack (或 Loki) 应用性能指标监控、仪表盘可视化、集中式日志收集与分析
前端 (可选) React / Vue.js + TypeScript, Ant Design / Material UI 现代化交互界面,前后端分离实践 (可先使用Postman测试API)
测试 JUnit 5, Mockito, Testcontainers, Postman/Newman 单元测试、集成测试(含数据库/中间件)、API契约测试、压力测试
基础设施即代码 (探索) Terraform 云资源管理实践
对象存储 MinIO (自建) 或 AWS S3 / 阿里云 OSS 文件附件存储
搜索增强 Elasticsearch 笔记/书签内容的高性能全文检索

注: 并非所有技术都会在初始版本中实现,这是一个渐进式学习和集成的过程。

📦 项目结构 (概览)

<你的项目名>
├── README.md                   # 项目总览 
├── LICENSE                     # 开源许可证 (建议MIT)
├── .gitignore                  # Git忽略规则
├── build.gradle / pom.xml      # 构建配置 (Gradle推荐)
├── docker-compose.yml          # Docker Compose编排 (用于启动依赖服务)
├── config-repo/                # (可选) Spring Cloud Config Server的配置仓库
│   └── application.yml
│   └── <service>-dev.yml
├── docs/                       # 项目文档 (设计决策、技术笔记、踩坑记录)
│   ├── ARCHITECTURE.md         # 架构设计说明
│   └── TECH-NOTES.md           # 特定技术集成笔记
├── backend/                    # Java后端主模块
│   ├── src/main/
│   │   ├── java/com/yourdomain/pkm/
│   │   │   ├── application/    # 应用层 (DTO, Service接口, 控制器等)
│   │   │   ├── domain/         # 领域层 (实体, 值对象, 领域服务, 仓储接口)
│   │   │   ├── infrastructure/ # 基础设施层 (仓储实现, 外部服务调用, 配置)
│   │   │   ├── security/       # 安全配置
│   │   │   ├── config/         # Spring配置类
│   │   │   └── PkmApplication.java # 启动类
│   │   └── resources/
│   │       ├── application.yml # 主配置文件
│   │       └── ...
│   └── src/test/               # 后端单元/集成测试
├── frontend/                   # (可选) 前端项目目录 (如果用React/Vue)
│   ├── public/
│   ├── src/
│   ├── package.json
│   └── ...
└── deployment/                 # (可选) 部署相关脚本、K8s manifests、Terraform配置
    ├── k8s/
    └── terraform/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages