文章目录
  1. 1. 目标
  2. 2. 给下一届学员的魔改大赛参赛手册(内含彩蛋)
    1. 2.1. 一、开始之前,明确目标
  3. 3. 二、参赛指南篇
    1. 3.1. 1. 完成JDstore基础教程
    2. 3.2. 2. 找到队友,组队成功
      1. 3.2.1. (1)关于组队
      2. 3.2.2. (2)学习协作技巧
        1. 3.2.2.1. Github协同开发
        2. 3.2.2.2. 利用Tower协同开发
    3. 3.3. 3. 确定网站主题
    4. 3.4. 4. 完成MVP,并发布作品
    5. 3.5. 5. 持续更新,作品宣传
    6. 3.6. 二、参赛工具篇
  4. 4. 三、心态篇
  5. 5. 四、经验反馈:请远离以下大坑
  6. 6. 五、彩蛋篇
    1. 6.1. 彩蛋一:全栈营「豆知识」合集(持续更新)
    2. 6.2. 彩蛋二:「我的JDstore魔改大赛作品复盘」(持续更新)
  7. 7. 彩蛋三:全网最全的购物网站功能教学贴合集
  8. 8. 彩蛋四:全栈营课程结束后的自学路线(持续更新)
  9. 9. 彩蛋五:优秀ROR、Ruby学习资料收集(持续更新)
  10. 10. 六、写在最后

大家好,本系列文章主要是对我参加全栈营JDstore魔改大赛作品「季风 & MONSOON」的复盘。由于本人也是新手,文章中一定有很多幼稚的错误或代码,希望大家帮忙指出,可反馈至我的邮箱kerzzi@outlook.com,我会持续完善本系列。非常感谢。
本系列是在全栈营JDstore教程基础之上进行魔改,本系列第1-11章节为全栈营JDstore教程,请在完成全栈营JDstore教程的基础上进行测试。

目标

  • 达成最低目标:上传作品,参加比赛!

给下一届学员的魔改大赛参赛手册(内含彩蛋)

五月是我工作以来最最繁忙的一个月,因此比赛过程中一直没有时间去认真的写攻略贴。现在得以清闲一阵子,我很认真的写了这个参赛指南,从开始构思、收集资料、到写作完成,本文花费了我约15个小时,希望它可以为你节省更多的时间。

其实Xdite老师的参赛手册已经是很全面的了,我这里以参赛者的角度,增添了一些心得,大神请一笑之。

一、开始之前,明确目标

我的目标:

  • 我设计这份参赛手册,是为了助你达成这个最低目标:上传作品,参加比赛!(相信我,看完本指南,你一定可以做出足够参赛的作品。)
  • 根据全栈营的统计,参赛就意味着你已经成为前40%的人!

你的目标:

比赛之前,我希望你也能认真思考,搞清楚你想通过全栈营得到什么。

一是,明确方向。

  • 问问自己:参加比赛是为了对学到知识的迁移练习,还是仅仅为了赢得奖品?我个人认为魔改大赛的意义就在于对2个月的课程学习进行迁移练习。
  • 如果仅仅是为了赢得奖品,很可能陷入二期学员的疯狂拉票大坑之中,从而降低了比赛带给你的成长速度,甚至因为自己得票较低而放弃比赛,进而放弃自己的成长。

二是,目标具体。

  • 既然是比赛,在大方向明确了之后,还要根据队伍的实际水平,确定一个具体可达到的目标。
  • 经过了Joblisting魔改大赛之后,你应该对自己的水平有一个比较准确的了解。真实评估自己(与队友)的能力之后,确定你们的具体目标,比如前八名。
  • 然后根据比赛规则将这个目标转换为可衡量的目标,比如作品得到800票。
  • 找到可衡量目标的的解决办法,比如宣传你的作品、分享你的攻略贴、帮助他人解决比赛中的困难等等。

三是,明确魔改大赛比的是什么:

  • 大赛比的是“如何将大功能拆分成可执行的小任务,并达成它们”(我认为这也是我在全栈营最大的收获)。大赛比的不是CSS、HTML、JS等前端技巧。

二、参赛指南篇

  1. 完成JDstore基础教程
  2. 找到队友,组队成功
  3. 确定网站主题
  4. 完成MVP的开发,并发布作品
  5. 持续更新,作品宣传

1. 完成JDstore基础教程

跟着全栈营“购物网站”教程,完成JDstore demo的开发。
Checklist:

  • 后台管理员可以管理产品的CRUD
  • 后台管理员可以针对产品上传图片
  • 顾客可以将产品加入购物车
  • 顾客可以显示购物车明细
  • 顾客可以计算购物车内总价
  • 顾客可以删减购物车的物品数量
  • 顾客可以针对订单结账
  • 顾客可以在下单之后收到一张订单确认信
  • 顾客可以看到自己所有的订单
  • 顾客可以付款(暂时利用is_paid)
  • 后台管理员可以将订单进行不同的操作(如:已下单、已结账、已出货、已退货、退货)

为了帮助你更好的理解“购物网站”教程,我为你准备了:全栈营「豆知识」合集,详解下面彩蛋篇。

2. 找到队友,组队成功

(1)关于组队

JDstore魔改大赛要求必须两名Vip学员组队,才可以上传作品参与比赛,因此建议尽早寻找合适的队友。关于找队友我建议按照以下几点原则进行:

  1. 做好自我介绍,方便队友了解你
    如果你希望和不是特别熟悉的人组队,第一步就是向对方清楚的介绍你自己。自我介绍要包含你的优势(前端、后端、文案、人缘等),你的作品,你的性格,你能用于比赛的时间段,你对队友的要求,你的联系方式等等。比如:

    (1)我是 xdite,家住北京朝阳,一个礼拜有三天晚上可以编程,周末一天可以参加面对面组队。擅长:编程推进、文案写作。征求美术、运营、前端擅长者(三选二)同学一起组队。有意者 slack 私聊。
    (2)或者参考潘鹏同学的自我推荐:

  2. 就近原则,配合方便
    如果你所在的城市有全栈营的Meetup,我建议优先在Meetup中寻找队友,,这样配合起来会很方便。如果本地没有合适的队友,可以考虑远程组队(但注意同时区)。

  3. 队友之间要有互补性
    这里不仅仅是指技能或热情上的互补性,比如你喜欢做前端(CSS/文案等)、队友喜欢做后端(写功能)等。还包括性格上的互补,比如你有领导气质,可以主导比赛进程,适合作为主程,而队友比较善解人意,能很好的配合你,可以作为副程等。

  4. 对队友有一定的了解
    这里主要是指对队友的性格、审美等有一定的了解,尤其是审美。全栈营学员年龄和区域跨度大,每个人审美各不相同,选择审美基本一致的队友,才能设计出双方都满意的作品。

  5. 如果希望获奖可以适当选择已有一定影响力的队友
    魔改大赛最基本的规则还是看投票,因此你的目标是想获奖。那么选择有一定影响力或者实力较强的队友,是个不错选择。这里的有一定影响力,主要指 Joblisting魔改大赛获奖作者、各微信群主动积极者、各地及线上Meetup组织者等。

  6. 尽早组队,尽快磨合
    尽早组队不仅可以让双方尽快磨合,而且也有充足的比赛时间,可以让你们获得早期红利。我和我的队友@胡颖同学就是在Joblisting魔改大赛结束的第二天完成组队的。

组队成功后的几点建议:

  • 组队合作过程中一定要坦诚沟通、信任对方、保持谦虚、换位思考、必要时妥协。经常问问自己,这样做能解决你们当前的主要问题吗?
  • 与队友之间多鼓励,不抱怨
  • 开始协助之前,先熟悉协作开发技巧(见下文)。这会为你们省去大量的后期磨合时间。
  • 每人每天至少确保2小时以上比赛专用时间
  • 固定时间,每天召开15分钟组会(可以使用Zoom视频),主要介绍各自做了哪些事情,遇到了什么困难,下一步将如何行动等等。组会的主要目的在于跟进项目进展,确保不偏离方向。
  • 做好分内的事。主程和副程以及各自的分工确立之后,双方要各自负起责任,按照分配发任务,确保自己手上的任务按时完成。此外主程要负起项目leader的责任,在项目滞后时,主动分析原因,尽快解决。
  • 小功能2小时没有完成,先放弃!重要功能2天没有完成,先放弃!
  • 写代码时,尽量做到代码整洁美观,做好必要的注释。经常git commit,且描述清楚改动的原因。
  • 每天写ORID开发日志。方便队友了解、方便发布功能更新、方便后期复盘。

(2)学习协作技巧

Github协同开发

关于Github协同开发网上有很多教程,为了防止你迷失,建议队友间提前确定一种你们喜欢的合作方案,我和我的队友是选择如下合作方案。

  1. 主程建立该项目Github库,然后邀请 副程 作为该项目的协同开发者。
  2. 副程每天开始写代码之前,git pull 拉取远程最新代码
  3. 副程新建分支 git checkout -b 你的名字缩写_功能名称
  4. 副程完成开发,将该分支 git push origin 分支名称到远程库中
  5. 副程通知主程发起pull request 将该分支合并进master中
  6. 主程针对该分支发起pull request,审核完毕后,将其合并进master中
  7. 主程、副程定期git pull 主干master
  • 确定好你们的合作方式之后,我建议在你们比赛作品的README.md中,清楚的将你们的Github协同开发约定写下来
利用Tower协同开发

Tower使用比较简单,非常方便。网址:https://tower.im/。具体使用请参考教材:[利用 Tower 进行项目管理](https://fullstack.xinshengdaxue.com/posts/1237)。

3. 确定网站主题

组队完成后,接下来就是确定网站主题和风格了。

关于如何选择网站主题和风格,我的建议如下:

(1) 尽量利用自己的特长,选择真实项目。
知道自己擅长解决什么问题,然后利用自己的专业特长,建立真实的项目。比如:

  • 现实生活中你和朋友组织了一个旅游定制的工作室,那么你可以做一个“高端旅游定制”的网站,这样可以从你专业的角度来优化你的网站,因为你自己就是真实的使用者。
  • 本次参赛作品”潜在世界“的作者就是一个潜水教练,根据自己真实体验、自己拍摄的视频等来制作这个网站的。

(2) 考虑到目标群体的喜好和接受度
参加魔改大赛,你的网站最直接的使用对象就是全栈营学员。因此可以考虑全栈营会员的喜好与接受度。比如:

  • 本次比赛很多作品的主题都是知识平台,但是投票人数都比较多,获得了大家的好评。
  • 此外,一些科技感很强的作品,也深受大家喜欢,比如作品“米家”,该作品每个页面风格也都很统一。

(3) 必要的稀缺性
作品既要被大家喜好,有不能太过普通。比如:

  • 本次比赛卖美食的网站很多,如果作品不是特别出彩,相对来说就很难吸引别人的注意力。

(4) 要考虑到项目实现的难度
你的设想要结合你们队伍当前的真实能力水平。比如:

  • 我和队友在比赛开始一个月前就完成了组队,并确定了最初的主题,最开始我们想做一个美术作品的竞拍网站,我们觉得这个功能很炫,也按照User story对网站的功能进行了拆分,也参考了类似的网站和源代码,但是在开发了2周之后,不仅作品BUG不断,且越做越发现我们的网站很难达到真实拍卖网站的水平。为了不影响后续的比赛,我们按照Xdite老师的建议,将注意力放在我们可以实现的功能上,及时的停止竞拍功能的开发,更改了网站主题。

(5) 参考类似网站,确定自己的网站风格
选择好主题之后,你可以看看目前与你的网站较为类似的真实网站,他们的风格是怎样的。比如:

  • 本次参赛作品“米家”,科技酷玩主题,就是参考锤子手机官网的风格制作的,网站色系不多,简洁清爽,而且每个页面都科技感十足。
  • 又如作品“南山先生”,风格统一、古韵十足,连Xdite老师都留言,声称自己被惊呆了。
  • 还可以参考@韵儿爸爸的一篇文章:三个妙招,做出接近90分的网站页面!

4. 完成MVP,并发布作品

  • 确定完成主题之后,在Tower上按照Must Have、 Should Have、 Could Have、 Nice to Have写下你们的User Story(差分至最小可执行的程度), MVP作品功能无需过多吗,最好不超过30条。并按照下表排开发优先级:

    • 一定要做 + 简单
    • 一定要做 + 难
    • 可以做 + 简单
    • 可以做 + 难
    • 不一定要做
  • 可以按照Xdite老师的参赛指南中“前两周如何快速推进开发进度?”来快速开发,如下所示:

  • 然后,主程按照按照User Story和相应发开发优先级,开发相应的基础功能,MVP开发时无需考虑后期优化的事情,先造出滑板车,然后再考虑制造小汽车

  • 副程继续设计网站手稿,收集图片等素材。
  • 每天召开组会,主程及时把握队伍方向。
  • 记住,不要追求完美!完美有毒!比赛开始后,第一时间发布作品,争取上推荐榜!此举有战略意义,参考Xdite老师的Hackthon比赛经验谈。
  • 关于快速开发landingpage的小套路:由于比赛已经进行了2期,各种landingpage均已出现,因此建议从模仿开始,可以参考全栈营往期比赛的同学的源码进行修改,快速制作自己的landingpage。
  • 当然,如果你们时间很紧急了,可以参考后面彩蛋中:「我的JDstore魔改大赛作品复盘」一节,在我的网站功能上进行修改。但是这样做可能会降低你的开发体验。

5. 持续更新,作品宣传

完成MVP只是个开始,只有不断的更新迭代才能让大家看到你的努力。

后续给作品增加哪些功能或如何迭代?

  • 参考往期和同期学员作品具有哪些可以借鉴的功能?
  • 论坛寻找他人分享的功能帖子。
  • 红包开路,请朋友帮忙测评?得到最真实的反馈。
  • 参考同类型真实产品具有哪些非常棒的功能?
  • 等等

如何让别人更喜欢你的作品?

  • 问问你自己对自己的作品满意吗?你自己喜欢它吗?
  • 在slack、微信群等主动帮助同学debug。
  • 到别人的作品页面留言鼓励,传递正能量,通常大家会礼尚往来。
  • 不过分打扰他人。比如,不要使用微信、slack强行拉票,很容易引起他人反感。
  • 等等

如何推荐自己的作品?提高曝光率?

  • 参加当地Meetup,介绍自己的网站。
  • 论坛分享你的攻略帖子或参赛心得,帮助更多的人。
  • 由于全栈营的比赛页面不能展示全部作品,但是一旦你更新了作品后,你的作品就会进入第一页。因此,在完成MVP并上传后,每天至少要更新一次作品(即使是更新首页大图等),并在作品的更新日志和留言中做说明,以便同学们注意到你的更新。
  • 主动发朋友圈、微博等宣传自己的作品。
  • 等等

二、参赛工具篇

下面推荐一些我们队伍在比赛中用到的工具、知识或网站,这些都是很简单的工具或知识,但是可以帮你节省大量时间。

素材网站推荐:

三、心态篇

全栈营学习与参加比赛的过程中,难免会惰怠,或者看到他人闪闪发光的作品而灰心气馁。我也有过这样的经历。这节心态篇,就是我在遇到这些情况时的应对措施,与你分享。

  • 如何长时间保持比赛前期的能量爆棚状态?

    • 作品上线之前,不关注他人作品。避免因对比而造成情绪波动,影响正常开发进度。
    • 参加Meetup,互相鼓励。
    • 参加在线直播,让鸡血教主Xdite老师帮你打气。
  • 我很努力但是得票很低我不开心,怎么破?

    • 请放心,全栈营的评委们是真正不在单一维度做比较的人,二期的比赛结果,就是在多维指标下进行比较而产生的。因此如果你真的很努力,即使得票不高,你的其他维度的努力肯定会被大家看到的。
  • 产品上线后,发现自己的作品和他人差距很大,因此产生放弃的念头,不想继续迭代,怎么破?

    • 不要中断产品迭代。每次大赛都有黑天鹅事件出现,而参赛作品总共才100+个,而且部分的作品是上线后就放弃迭代的,因此你很可能成为下一个黑天鹅,而且大赛是有励志奖的!
    • 不忘初心,经常问问自己参赛的目的是什么,仅仅为了赢得比赛,还是真正的获得成长,而我有没有成长呢?
  • “努力但不一定能获得奖品,但是不努力的确很舒服啊!O(∩_∩)O哈!”

    • 我没有把握说不努力是个过错,但是我非常有把握的说,不努力你一定会错过!要知道过错是可以改的,但是错过的是不会再回来的。

四、经验反馈:请远离以下大坑

查理·芒格:“如果我知道我将在哪里死去,我将永远不去那里。”

因此,为了你更好的参加比赛,我收集了一些我和其他全栈营同学所遇到的坑,远离这些坑你就成功了一半:

  • 开始的目标不要太高,不要将注意力放在炫酷的功能上,而是放在自己能力范围内的事情上,以项目上线为第一目标。
  • 找队友要尽早。
  • 每天的例会不要中断。
  • commit要明确写出修改内容。
  • 不要过于关注票数,忘了参赛的初心。附送@韵儿爸爸的一句话:成为真正大神后,再去接受更多鲜花和掌声吧。
  • 保护注意力,比赛的同时,切忌学习其他大型技能。
  • 切莫钻牛角尖,小功能2小时没有完成,先放弃!重要功能2天没有完成,先放弃!此外,及时求助很重要。
  • 不要追求完美。
  • 多多和其他同学交流,自己主动一点,会发现他人也希望能和你交流。
  • 如果时间允许,尽量当天看直播。
  • 多学习他人源码,尤其是一、二期比赛获奖作者的源码,代码干净,注释漂亮。
  • 有想听的直播,主动在论坛的直播心愿池中许愿。
  • 尽量带着问题,参加Meetup,并记录。
  • 坚持写ORID。可以记录项目开发日志和自己的心路历程。或者把做过的功能,写为教程,不要觉得别人写过,自己就可以省略。
  • 放弃傲慢,保持谦虚,听老师的话。你会发现每个作品都有值得借鉴的地方。
  • 组队合作过程中,一定要坦诚沟通、信任对方、保持谦虚、换位思考、必要时妥协
  • 注意休息,感觉效率低下时,可以去运动或者睡觉。
  • 由于全栈营的比赛的规则是有可能改变的,这个不是你能控制的。但是你的成长却是你可以控制的,将注意力关注在你能改变的事情上。
  • 和队友一起,多看几遍本参赛手册。O(∩_∩)O哈!

五、彩蛋篇

彩蛋一:全栈营「豆知识」合集(持续更新)

为了更好的帮助你理解全栈营的JDstore等课程,我收集了全栈营各种「豆知识」(小而有趣的知识点),希望你学的开心。(如果链接失效,你可以在我的logdown分类:“ROR豆知识”中找到上述内容)

彩蛋二:「我的JDstore魔改大赛作品复盘」(持续更新)

为了助你更好的参加比赛,这里为你准备了 「从零开始做购物网站」的全部教程。这是我参加全栈营JDstore的全过程复盘。我的作品远远比不上那些大牛,功能也不够炫,而且这也是我第一次写复盘教程,所以代码、教程顺序、语言组织也很水。但是可以为准备不充分的同学提供参考,大神请一笑之,当然我也会持续更新这个教程,努力的去完善它。

教程合集地址「从零开始做购物网站」(持续更新)

网站效果演示https://jfshop.herokuapp.com/

教程目录:

彩蛋三:全网最全的购物网站功能教学贴合集

彩蛋四:全栈营课程结束后的自学路线(持续更新)

我是一个上班族,我参加全栈营学习是为了转行,我很喜欢编程。但是坦白说,仅仅依靠全栈营的课程很难让我找到工作,而且需要Ruby程序员的公司在国内还是比较少的。因此,为了真正获得转行的资格,我制定了一个不太靠谱的7个月持续自学计划,我的计划偏向于前端,但很多内容可以通用,如果你感兴趣,可以参考。

我会在计划的执行过程中不断优化的该计划,期待惊喜的到来。

我的编程自学计划https://github.com/Kerzzi/ruby_notes/tree/master/00_self-learning_plan

我也会持续将我的学习心得或笔记,记录在我的Github中ruby_notes库,如果你也感兴趣,欢迎关注。

彩蛋五:优秀ROR、Ruby学习资料收集(持续更新)

其实彩蛋四中已经包含了很多优秀的学习资料,这里再次集中将优秀ROR、Ruby学习资料进行收集,希望可以帮助到你。

六、写在最后

  • 以上就是根据我自己JDstore魔改大赛的心得制作的参赛指南,我的目标是助你能完成作品、参加比赛,但不保证能获得大奖
  • 编程让我感到愉悦,我很开心自己参加了全栈营课程,它让我成为更好的自己。感谢全栈营所有的老师和同学们,有幸与你们为伍,共同学习,一起进步!
  • 如果你也想成为更好的自己,可以使用我的专属推荐码:5e5a-3b13-ce71,购买全栈营课程,可以为你省下2000元。当然,不是说参加了全栈营课程就一定能让你脱胎换骨,成为想要的自己。一切的决定权都在你的手中,想好了再来,祝好!
  • 附送文章一篇:参与全栈学习这么久,你觉得自己和之前最大的不同是?

最后,如果你喜欢我的文章、想与我交流,欢迎你通过如下渠道联系我

文章目录
  1. 1. 目标
  2. 2. 给下一届学员的魔改大赛参赛手册(内含彩蛋)
    1. 2.1. 一、开始之前,明确目标
  3. 3. 二、参赛指南篇
    1. 3.1. 1. 完成JDstore基础教程
    2. 3.2. 2. 找到队友,组队成功
      1. 3.2.1. (1)关于组队
      2. 3.2.2. (2)学习协作技巧
        1. 3.2.2.1. Github协同开发
        2. 3.2.2.2. 利用Tower协同开发
    3. 3.3. 3. 确定网站主题
    4. 3.4. 4. 完成MVP,并发布作品
    5. 3.5. 5. 持续更新,作品宣传
    6. 3.6. 二、参赛工具篇
  4. 4. 三、心态篇
  5. 5. 四、经验反馈:请远离以下大坑
  6. 6. 五、彩蛋篇
    1. 6.1. 彩蛋一:全栈营「豆知识」合集(持续更新)
    2. 6.2. 彩蛋二:「我的JDstore魔改大赛作品复盘」(持续更新)
  7. 7. 彩蛋三:全网最全的购物网站功能教学贴合集
  8. 8. 彩蛋四:全栈营课程结束后的自学路线(持续更新)
  9. 9. 彩蛋五:优秀ROR、Ruby学习资料收集(持续更新)
  10. 10. 六、写在最后