写这篇文章是为了去将学过的东西能更熟悉,在复习的过程中得到学习,我学过的东西有限,希望在这个过程中能够得到更多。
当时是粉粉说我们要么参加学校的软工杯怎么样?我说好啊,正好可以将我们暑假学过的东西来一次更深实践,然后我们就找了暑假一起的赵彤来做一个项目,讨论的结果就是写一个二手图书的交易系统,本来是想做一个基于学校的交易系统的,然后因为种种原因就放弃了基于学校的这个需求了。然后就彻底变成了一个闲鱼了。。。。(当然要比那个low了)。
当然了,在此之前我们先要介绍一下该项目了。首先是技术栈,前端用了react,整体后台使用了node,然后数据库使用了mongodb(js是一定要学好的啦)。然后就是功能,
1.登陆注册
2.发布图书
3.查看个人资料并可修改
4.添加收获地址
5.可添加或删除商品的购物车
6.用户可以下订单
7.提醒卖家发获
8.在首页浏览商品
这些功能的完成都是很不容易的,因为每个地方都实现了不同的技术难点,还有因为每个人完成的部分不同,每个人学到的技术也不同。
曲折
理想是丰满的,然而现实却是骨感的,我们的美好构图被我们不会的技术和各种不利的因素所否定,但是这时候总理从天而降(哈哈哈哈哈),为我们解疑答惑,当然,第一个问题就是我们并没有提前构思完全,没有一个完整的用户故事,这让我们走了一半便开始困惑。第二个问题就是技术难题了,总理说google上面总有更好的解答。第三个问题就是如何让我们之间的交流学习更加有效,因为我们毕竟在不同两个班级里面,聚在一起的讨论学习的时间很少,所以我们需要去创建一个很好的平台。
如何去解决问题呢?
1.关于用户故事:一个有交易性质的网站基本实现有两种方式,一个是线下交易另一个是线下交易,线下交易的优点是只需要线上联系然后双方通过电话或者其他通信方式来联系最终实现交易,因此最后解决方法就是可以做成论坛的形式(像百度贴吧可以盖楼)。那另一个就是实现网上交易了,但是只要涉及金钱交易就很不安全,如果应用现成的组件的话就需要收费了。。。因此最后我们觉得还是虚拟支付比较好,既可以省却很多烦恼又可以锤炼技术喽。
2.在写代码的过程是要查阅很多东西的,毕竟社区有很多牛人。像segmentfault和stackoverflow(每次都看得我想去学英语语法)。我在学习很有感触阿!
3.我们平时靠微信联系,因此我们可以将进度随时发到群里,然后按照计划行事。最后再总结。
我的遇到的问题
1.react如何访问dom: react是视图层,因此它负责将后台给出的数据呈现在用户之前。由于看到资料说是react是操作dom树的,用它来操作单个dom是非常不明智的,但是有的时候我们并没有找到解决问题的最佳途径,貌似只能用这样的方法。
2.react-router: 刷新页面和如何优雅的传递参数。第一当然是无法自动刷新页面的问题,还需要手动刷新,这个bug很严重。另一个就是怎么去再页面之间传递参数喽,其实有很多方法。先不做赘述。
3.react三级连动的编写: 最初我是崩溃的,这怎么写阿,幸亏粉粉给我一个模版,再里面我体会到了很多:包括react的使用和脚本语言的强大。
4.socket.io: 阿!最头痛的就是这个了,当时遇到说是怎么给卖家发送买家订购的消息的时候可以利用即时的消息推送,但是我发现推送的即时消息还是要存储到数据库里面,因此觉得现阶段没这个必要,然后我就将自己关于这部分的代码没有上传。
5.node: node的学习让我明白了异步循环机制。
《Node.js开发指南》为你答疑。
解决我的问题
我是搜了很多资料才可以解决一个问题,因为很多地方要结合自己项目的情况来得到让自己满意的答案。
网站的视频
网站的github地址
https://github.com/Old-books/tao_shu_help
具体的自己遇到的技术问题打算来一个总结
随后就来个总结喽!
感谢小伙伴的帮助,还有团结!更有总理的支持喽!
未完待续。。。。