logo
0
0
WeChat Login

码学记 - 程序员学习成长记录平台

一个面向程序员的一站式学习、编码、笔记、文档生成及成长激励平台

项目简介

码学记平台聚焦"学习-实践-记录-沉淀-激励"全闭环,帮助程序员构建个人化学习手册,实现知识分门别类管理、封装分发,同时通过证书与勋章体系提升学习积极性。

核心功能

1. 用户模块

  • 用户注册/登录(手机号、邮箱、第三方账号)
  • 个人中心(信息管理、学习数据概览)
  • 账号安全(二次验证)

2. 学习模块

  • 技能树管理:多方向技能树(前端、后端、移动端、大数据、AI)
  • AI学习助手:大模型对话学习、文档解析、对话记录留存
  • 在线编码:多语言支持、代码备注、保存导出、代码分享

3. 文档笔记模块

  • 笔记编辑:Markdown编辑器、多维度关联、实时保存、版本回溯
  • 文档生成:自动生成MD教程、手动编辑优化、文档模板
  • 文档管理:多级分类、搜索功能、状态管理
  • 封装分发:文档打包、手册分发、公开分享

4. 激励体系模块

  • 勋章系统:学习行为类、学习成果类、技能突破类勋章
  • 证书系统:技能认证证书、学习成果证书
  • 排行榜:成长值排行榜、学习时长排行

技术栈

后端

  • Spring Boot 3.1.5 (Java 17)
  • MyBatis 3.5+
  • MySQL 8.0+
  • Redis 7.0+
  • Neo4j 5.16+ (技能树图结构)
  • MinIO 8.5+ (对象存储)
  • JWT (用户认证)

前端

  • Vue 3.4+ (Composition API)
  • Vite 5.1+ (构建工具)
  • Vue Router 4.3+ (路由)
  • Pinia 2.1+ (状态管理)
  • Element Plus 2.6+ (UI组件)
  • Monaco Editor (在线编码)
  • Markdown-it (Markdown解析)

项目结构

code-learn-note/ ├── code-learn-note-backend/ # 后端项目 │ ├── src/main/java/com/cnb/codelearn/ │ │ ├── controller/ # 控制器 │ │ ├── service/ # 服务层 │ │ ├── mapper/ # 数据访问层 │ │ ├── entity/ # 实体类 │ │ ├── config/ # 配置类 │ │ └── common/ # 公共类 │ ├── src/main/resources/ │ │ └── application.yml # 应用配置 │ ├── pom.xml # Maven配置 │ └── Dockerfile # 后端镜像 │ ├── code-learn-note-frontend/ # 前端项目 │ ├── src/ │ │ ├── api/ # API请求 │ │ ├── components/ # 公共组件 │ │ ├── views/ # 页面视图 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia状态 │ │ └── utils/ # 工具函数 │ ├── package.json # npm配置 │ ├── vite.config.ts # Vite配置 │ ├── Dockerfile # 前端镜像 │ └── nginx.conf # Nginx配置 │ ├── docker-compose.yml # 本地开发环境 ├── .cnb.yml # CNB CI/CD配置 ├── schema.sql # 数据库初始化脚本 └── README.md # 项目文档

快速开始

前置要求

  • JDK 17+
  • Node.js 20+
  • Maven 3.8+
  • MySQL 8.0+
  • Redis 7.0+

1. 初始化数据库

mysql -h 192.168.5.66 -u root -prootpassword < schema.sql

2. 启动后端

cd code-learn-note-backend mvn spring-boot:run

后端地址:http://localhost:8088/api

3. 启动前端

cd code-learn-note-frontend npm install npm run dev

前端地址:http://localhost:5173

4. 使用 Docker Compose(推荐)

docker-compose up

环境配置

后端配置 (application.yml)

spring: datasource: url: jdbc:mysql://192.168.5.66:3306/code_learn_note username: root password: rootpassword redis: host: 192.168.5.66 port: 6379 password: password neo4j: uri: bolt://192.168.5.66:7687 authentication: username: neo4j password: neo4jpassword minio: endpoint: http://192.168.5.66:9000 access-key: minioadmin secret-key: minioadmin123

开发计划

V1.0 版本(当前)

  • 用户注册登录
  • 技能树管理
  • AI学习助手(基础对话)
  • 在线编码
  • Markdown文档编辑
  • 基础勋章系统

V2.0 版本(规划中)

  • 完整证书系统
  • 高级文档管理
  • 手册公开广场
  • 用户互动(点赞、评论、收藏)

V3.0 版本(规划中)

  • 学习计划制定
  • 知识点刷题
  • AI错题分析
  • 多端同步

贡献指南

欢迎提交 Issue 和 Pull Request!

许可证

MIT License

About

码学记 - 程序员学习成长记录平台

Language
Java49.3%
Vue38.4%
TypeScript8%
Shell3.3%
Others1%