## 前言
作为一名全职奶爸+程序员,每天带娃已经很累了,根本没有太多时间写代码。但又不想完全放弃技术追求,怎么办?
SOLO 的出现让我找到了新的平衡点。
今天分享一下我用新 SOLO 的 MTC 模式,从零构建了一套知识库管理系统的全过程。完整项目代码会分享在文末。
## 为什么选择知识库管理系统?
原因很简单:
1. 刚需:作为一名程序员,我需要管理日常的技术笔记、项目文档、学习资料
2. 可行:一个简单的知识库系统,技术栈不复杂,适合一个人开发
3. 可扩展:做完基础版后,可以不断迭代新功能
而且,用 SOLO 来做这件事,效率比我自己写代码高出至少 3 倍。
## 技术选型
经过和 SOLO 的多轮讨论,最终确定了以下技术方案:
- **前端**:Vue 3 + Element Plus(因为比较熟,上手快)
- **后端**:Node.js + Express(轻量,写起来快)
- **数据库**:SQLite(不用配置,直接文件存储,适合个人项目)
- **部署**:本地运行,后续可以考虑 Docker
整体架构比较简单,但五脏俱全。
## 开发过程
### 第一步:需求梳理
我直接告诉 SOLO:
> 我需要一个知识库管理系统,功能包括:用户登录注册、知识文章 CRUD、标签分类、搜索功能、点赞收藏。
SOLO 帮我生成了一份完整的需求文档 PRD,包括功能列表、数据库设计、API 接口设计,前后只花了 10 分钟。
### 第二步:数据库设计
根据需求文档,SOLO 帮我设计了以下核心表结构:
```sql
-- 用户表
CREATE TABLE users (
id INTEGER PRIMARY KEY,
username TEXT UNIQUE,
password TEXT,
avatar TEXT,
created_at DATETIME
);
-- 文章表
CREATE TABLE articles (
id INTEGER PRIMARY KEY,
title TEXT,
content TEXT,
author_id INTEGER,
tags TEXT,
views INTEGER DEFAULT 0,
likes INTEGER DEFAULT 0,
created_at DATETIME,
updated_at DATETIME
);
-- 标签表
CREATE TABLE tags (
id INTEGER PRIMARY KEY,
name TEXT UNIQUE,
color TEXT
);
```
### 第三步:后端开发
后端我用了 Express + SQLite,主要实现了以下 API:
- POST /api/auth/register 用户注册
- POST /api/auth/login 用户登录
- GET /api/articles 文章列表(支持分页、搜索、标签筛选)
- POST /api/articles 创建文章
- PUT /api/articles/:id 更新文章
- DELETE /api/articles/:id 删除文章
- POST /api/articles/:id/like 点赞
- GET /api/tags 获取标签列表
整个后端代码,大概 300 行左右。SOLO 用了大约 2 小时帮我完成,包括调试和修复了一些小 bug。
### 第四步:前端开发
前端用了 Vue 3 + Element Plus,主要页面包括:
1. **登录/注册页**:简洁的表单页面
2. **首页**:文章列表,支持搜索和标签筛选
3. **文章详情页**:Markdown 渲染,支持点赞和收藏
4. **个人中心**:我的文章、收藏列表
5. **文章编辑器**:支持 Markdown 写作
这里有个小插曲:Markdown 编辑器最初用的是 another-md-editor,但和 Element Plus 有样式冲突。SOLO 帮我换成了 toast-ui/editor,问题解决。
前端代码量稍大一些,大概 600 行左右。
## 效果展示
经过几天的开发(实际coding时间大约 8 小时),系统基本成型:
-
用户可以注册登录
-
可以创建、编辑、删除文章
-
支持 Markdown 语法
-
标签分类和搜索功能
-
点赞和收藏功能
-
响应式布局,手机上也能用
## 经验总结
用 SOLO 做项目这几周,有一些心得分享给大家:
1. **Prompt 要具体**:越具体的描述,SOLO 理解得越好,生成的结果越准确
2. **多轮对话很关键**:不要期待一次性生成完美代码,多迭代几次效果更好
3. **不懂就问**:对于不确定的技术点,直接问 SOLO,它会给出解释和示例
4. **做好备份**:每次大改动前,git commit 一下,防止改崩
## 写在最后
作为一个时间有限的奶爸,SOLO 让我重新找回了写代码的乐趣。
以前需要周末才能做的事情,现在每天带娃的间隙就能完成。
这可能就是 AI 编程工具的意义:不是替代程序员,而是让更多人能参与到创造中来。
希望我的分享能给大家一些启发。也欢迎大家在评论区交流更多使用技巧!