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%