
村口小卖部的王阿姨找到我:"小伙子,听说你会电脑,能不能帮我做个记账的?"
我说:"可以啊,您想要什么功能?"
她说:"就是能记一下进货、卖货、库存,别太复杂,我不会用。"
一周后,我用Python给她做了一个进销存系统。
王阿姨用了一个月后说:"比我花3000块买的收银机好用多了!"
需求调研:听懂用户的话
第一天,我去小卖部观察王阿姨怎么工作。
她的工作流程:
-
-
-
-
-
她的痛点:
她的需求:
她的限制:
技术选型:简单实用
根据需求,我选择了:
后端: Python + Flask
数据库: SQLite
前端: HTML + Bootstrap(响应式)
部署: 本地运行
为什么这样选:
核心功能:只做必要的
1. 商品管理
功能:
界面:
商品名称:[可口可乐]
进价:[2.5元]
售价:[3.0元]
[保存] [取消]
代码示例:
@app.route('/product/add', methods=['POST'])
def add_product():
name = request.form['name']
cost = float(request.form['cost'])
price = float(request.form['price'])
db.execute(
'INSERT INTO products (name, cost, price) VALUES (?, ?, ?)',
(name, cost, price)
)
return redirect('/products')
2. 进货记录
功能:
界面:
选择商品:[可口可乐 ▼]
进货数量:[24]
进货金额:[60元](自动计算)
[确认进货]
3. 销售记录
功能:
界面:
选择商品:[可口可乐 ▼]
销售数量:[1]
销售金额:[3元](自动计算)
利润:[0.5元](自动计算)
[确认销售]
4. 库存查询
功能:
界面:
商品名称 当前库存 进价 售价
可口可乐 23件 2.5元 3.0元
雪碧 5件 ⚠️ 2.5元 3.0元
5. 统计报表
功能:
界面:
今日销售额:156元
今日利润:28元
本月销售额:4680元
本月利润:840元
畅销商品TOP5:
1. 可口可乐 - 120件
2. 雪碧 - 98件
3. 矿泉水 - 85件
用户体验:让老人也会用
1. 大字体
所有文字都用18px以上,王阿姨不用戴老花镜也能看清。
2. 大按钮
所有按钮都做得很大,方便点击。
3. 颜色区分
4. 语音提示
每次操作成功,都会语音播报:
5. 快捷操作
常用商品放在首页,一键销售:
[可口可乐 3元] [雪碧 3元] [矿泉水 2元]
点一下就完成销售记录。
部署上线:一台旧电脑
我用王阿姨的旧电脑部署:
配置:
部署步骤:
-
-
-
-
-
-
访问方式:
-
- 电脑浏览器:http://localhost:5000[1]
-
- 手机浏览器:http://192.168.1.100:5000[2]
-
王阿姨主要用手机操作,很方便。
使用效果:超出预期
一个月后,我去回访。
王阿姨的反馈:
1. 省时间
以前:
现在:
节省时间:每月10小时
2. 少出错
以前:
现在:
减少损失:每月200元
3. 更清楚
以前:
现在:
经营更有数
4. 更方便
以前:
现在:
操作更简单
后续优化
根据王阿姨的反馈,我又加了一些功能:
1. 会员管理
记录常客的赊账:
张三:欠款50元
李四:欠款30元
2. 过期提醒
食品快过期时提醒:
⚠️ 方便面还有3天过期,剩余10包
3. 进货建议
根据销量自动建议进货:
💡 可口可乐库存不足,建议进货50件
4. 数据备份
每天自动备份数据到U盘。
成本分析
开发成本:
运行成本:
对比收银机:
王阿姨的评价:
"花3000块买的收银机,功能还没这个好,还要每年交维护费。你这个免费的,还能根据我的需求改,太好了!"
技术总结
这个项目虽然简单,但让我学到了很多:
1. 需求比技术重要
不要:
要:
2. 简单就是美
技术栈:
原则:
3. 用户体验是关键
设计原则:
4. 持续优化
不要:
要:
写给程序员的话
如果你也想做一个小项目,我的建议是:
1. 从身边开始
不要:
要:
2. 简单开始
不要:
要:
3. 持续迭代
不要:
要:
最后的话
这个小卖部进销存系统,虽然简单,但很实用。
它让我明白:
技术的价值,不在于多复杂,而在于解决了什么问题。
如果你也想做一个小项目,欢迎关注我。
如果你有好的想法,欢迎留言分享。
我是乡野码圣,S302省道的程序员。
这是我用Python帮村里小卖部做的系统。
互动话题
留言告诉我:
-
-
-
-
我会认真回复每一条留言。
关注公众号【乡野码圣】
回复"Python"获取完整代码
回复"项目"看更多实战案例
回复"教程"学习开发技巧
引用链接
[1]http://localhost:5000
[2]http://192.168.1.100:5000