卡码笔记是一个面向程序员的在线笔记分享和学习平台,旨在为程序员提供一个高效的知识分享和交流空间。
- 📝 支持Markdown格式的笔记编写
- 🔍 强大的笔记搜索功能
- 👥 用户互动和社交功能
- 📊 笔记数据统计和排行
- 🔔 实时消息通知系统
- 📱 响应式设计,支持多端访问
后端技术*
-
核心框架:Spring Boot 2.7.18
-
安全框架:Spring Security
-
持久层:MyBatis
-
数据库:MySQL 8.0
-
缓存:Redis
-
消息推送:WebSocket
-
搜索:MySQL 全文索引 + Jieba 分词
-
文件存储:本地文件系统
-
日志系统:Log4j2
-
测试框架:JUnit
-
模板引擎:Thymeleaf
-
Markdown:Flexmark
-
工具库:Hutool
前端技术
- 构建工具:Vite
- 框架:React + TypeScript
- 路由管理:React Router DOM
- 状态管理:Redux Toolkit
- UI 库:Ant Design
- 样式:TailwindCSS
- HTTP 客户端:Axios
- WebSocket 客户端:原生 WebSocket
- Markdown 渲染
- 数据可视化
- 代码质量:ESLint, Prettier
- 版本控制:Husky, Lint-staged
- Node.js 16+
- JDK 17+
- MySQL 8.0+
- Maven 3.8+
- 克隆项目
git clone https://github.com/youngyangyang04/kamanotes.git
cd kama-notes
- 前端启动
cd frontend
npm install
npm run dev
- 后端启动
IDEA直接启动
或
cd backend
mvn spring-boot:run
- 数据库配置
- 创建数据库:kamanote_tech
- 执行SQL脚本:kamanote-tech.sql
- 用户注册和登录
- 个人信息管理
- 用户主页
- 创建和编辑笔记
- 笔记分类和标签
- 笔记收藏
- 笔记搜索
- 笔记评论
- 点赞功能
- 消息通知
- 用户活跃度
- 笔记热度排行
- 个人数据统计
├── backend/ # 后端项目
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/kama/notes/
│ │ │ │ ├── annotation/ # 自定义注解
│ │ │ │ ├── aspect/ # AOP切面
│ │ │ │ ├── config/ # 配置类
│ │ │ │ ├── controller/ # 控制器
│ │ │ │ ├── exception/ # 异常处理
│ │ │ │ ├── filter/ # 过滤器
│ │ │ │ ├── interceptor/ # 拦截器
│ │ │ │ ├── mapper/ # 数据访问层
│ │ │ │ ├── model/ # 数据模型
│ │ │ │ ├── scope/ # 作用域数据
│ │ │ │ ├── service/ # 业务逻辑层
│ │ │ │ ├── task/ # 定时任务
│ │ │ │ └── utils/ # 工具类
│ │ │ └── resources/
│ │ │ ├── mapper/ # MyBatis映射文件
│ │ │ └── application.yml # 配置文件
│ │ └── test/ # 测试代码
│ └── pom.xml # 项目依赖管理
- Fork 本仓库
- 创建新的分支:
git checkout -b feature/your-feature
- 提交更改:
git commit -m 'Add some feature'
- 推送到分支:
git push origin feature/your-feature
- 提交Pull Request