一、项目导学与需求分析

大家好,我是这门课的主讲工程师。今天咱们聊聊这个在线投资学习平台到底要做什么。

说实话,我见过太多人想学投资,但一上来就真金白银往里冲。结果呢?亏得连饭钱都没了。所以我一直想做个平台,让大家在模拟环境里练手,练熟了再上战场。这个项目,就是干这个的。

1.1 市场定位:给谁用的?

这个平台不是给专业基金经理用的。它的目标用户很明确:

  • 投资新手——想学投资,但怕亏钱的人
  • 在校学生——金融、经济相关专业,需要实操练习
  • 业余爱好者——有点闲钱,想试试水但没经验

说白了,就是一个「零风险练手」的环境。我在做第一个版本时,发现很多用户连K线图都看不懂。所以后来加了大量的课程和引导,嗯,这个后面会细讲。

1.2 核心功能模块

整个系统拆成四大块。我习惯先画个图,把关系理清楚。

在线投资学习平台 用户管理 课程管理 模拟交易 数据分析 注册/登录/权限 视频/文档/测验 买入/卖出/持仓 收益/风险/报表

1.2.1 用户管理

这个模块管的是「谁在用」。注册、登录、权限控制,都是基础操作。我遇到过一个问题:用户注册时密码太简单,结果被暴力破解。所以后来加了密码强度校验,还做了手机号验证。你想想看,如果用户信息泄露了,谁还敢用你的平台?

1.2.2 课程管理

课程是平台的核心内容。包括视频教程、文档资料、课后测验。我个人习惯把课程按难度分级:初级、中级、高级。初级讲基础概念,中级讲技术分析,高级讲策略组合。这样用户能循序渐进地学。

1.2.3 模拟交易

这是最有意思的部分。用户可以用虚拟资金买卖股票、基金、期货。系统会实时计算盈亏。我曾经见过一个用户,模拟盘赚了50%就飘了,真金白银冲进去,结果亏得一塌糊涂。所以模拟交易一定要尽量贴近真实市场,包括手续费、滑点这些细节。

1.2.4 数据分析

光交易不行,还得知道为什么赚、为什么亏。数据分析模块会生成各种报表:收益率曲线、风险指标、持仓分布。说白了,就是帮用户复盘用的。我建议每个用户每周至少看一次自己的分析报告,找找问题在哪。

1.3 技术选型

技术选型这块,我纠结过。用Java还是Python?用React还是Vue?最后定了这个组合:

技术 版本 为什么选它
Python Flask 2.x 轻量、灵活、开发快。我做过几个Flask项目,上手很快
Vue.js 3.x 组件化开发,前后端分离。生态好,文档全
MySQL 8.0 关系型数据库,稳定可靠。用户数据、交易记录都存这
Redis 6.x 缓存热点数据,比如行情信息。提升响应速度
为什么不用Django? 说实话,Django太重了。我们这个项目规模不大,Flask够用。而且Flask的扩展机制很灵活,需要什么功能再加什么,不会一上来就给你塞一堆用不上的东西。

1.4 项目开发环境搭建

环境搭建这块,我踩过不少坑。直接说步骤吧:

  1. 安装Python 3.9+——建议用pyenv管理多版本,避免冲突
  2. 创建虚拟环境——python -m venv venv,然后激活它
  3. 安装Flask及相关库——pip install flask flask-sqlalchemy flask-cors
  4. 安装Node.js 16+——用来跑Vue前端
  5. 创建Vue项目——npm create vue@latest,选上Router和Pinia
  6. 安装MySQL——记得设置root密码,创建数据库invest_learning
小技巧: 我习惯在项目根目录放一个 requirements.txt,把所有依赖写进去。这样换机器时,一行命令就能装完:pip install -r requirements.txt
注意: 我曾经因为Python版本不一致,折腾了一整天。Flask 2.x 需要 Python 3.7+,如果你还在用 Python 2.7,赶紧升级吧。另外,MySQL 8.0 的密码认证方式变了,连接时记得加上 --auth_native_password 参数。

好了,环境搭好之后,下一件事就是动手写代码了。不过别急,先把需求理清楚,后面才不会返工。我个人习惯在项目开始前,花一天时间把需求文档写详细,哪怕后面会改,也比边写边想要强。

嗯,今天就到这。记住一句话:好的开始是成功的一半。环境搭好了,后面就顺了。


公众号:蓝海资料掘金营,微信deep3321