Git Product home page Git Product logo

kidwechat's People

Contributors

draachen avatar hunshiouren avatar luckysilly avatar windflyinglx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

victormxz starscx

kidwechat's Issues

Week0Dday7_项目梳理&下周MVP目标制定&进度跟踪

(170326) 开始 结业项目路演、 结业典礼

项目倒计时:14天

  • Part.1-主轴梳理:

我觉着我们这个项目最大的卖点是:

信息分流+语音识别

要抓住这两个点。

最终的目标应该是,保护和培养幼儿发起社交的独立意识。技术的运用是让这个过程顺利实现&尽可能顺畅。

如果本周的MVP可以做起来,就能初步实现信息分流。虽然可以直接从父母的微信联系人列表里,搜索联系人进行语音/视频,做一个服务号实现这个功能看似多此一举,但通过这个步骤能建立起幼儿的领地意识。和长大了要有自己的房间是一个概念,只不过这个是针对数位原始人世代推出的虚拟房间。

幼儿不能识字,语音识别可以做成是最好最好的,
朋辈社交:语音+语音,
幼儿和长辈的社交:语音+文字,
幼儿输入的语音转化成文字输出给长辈,
长辈输入的文字转换成语音输出给幼儿/长辈直接输出语音给幼儿。

————————————————————————————————————————————————

  • Part.2-技术细节:

本周MVP:

  • Path 1:鸡腿和李欣探索python3+itchat

    • Step 1:用itchat写出用于给幼儿分拣信息的微信机器人
      MVP_1:先添加联系人,写进字典里面,再从字典里调取联系人发信息
      MVP_2:MVP1实现了之后,尝试从父母的微信联系人列表里直接搜索调取,即:不写字典
    • Step 2:itchat接口部署到服务号上
  • Path 2:Ramsey探索python2.7+web.py模块

周三晚8点汇报项目进度

————————————————————————————————————————————————

我理解的itchat流程:

  1. 扫码登陆自己的微信

  2. 得到微信里所有的联系人列表
    对应API:
    def get_friends(self, update=False):
    ''' fetch friends list
    for options
    - update: if not set, local value will be returned
    for results
    - a list of friends' info dicts will be returned
    it is defined in components/contact.py

3.从联系人列表里选择要添加的联系人并添加friend's info进字典
对应API:
def search_friends(self, name=None, userName=None, remarkName=None, nickName=None,
wechatAccount=None):
return self.storageClass.search_friends(name, userName, remarkName,
nickName, wechatAccount)

def add_friend(self, userName, status=2, verifyContent='', autoUpdate=True):
''' add a friend or accept a friend
for options
- userName: 'UserName' for friend's info dict
- status:
- for adding status should be 2
- for accepting status should be 3
- ticket: greeting message
- userInfo: friend's other info for adding into local storage
it is defined in components/contact.py
'''
raise NotImplementedError()
4.选择联系人一对一联络,发消息、视频、图片之类之类
————————————————————————————————————————————————

我的疑问

1.为什么要纠结userid?代码里面对应的toUserName是对应什么?我看官网上的解释,说是用备注、微信号和昵称都可以找到联系人的

2.上面图片的最后一行,是可以获取公众号的,那我们其实是可以把公众号汇总到联系人列表里面的对吧?我在API列表里面看到了这两个:
def get_mps(self, update=False):
''' fetch massive platforms list
for options
- update: if not set, local value will be returned
for results
- a list of platforms' info dicts will be returned
it is defined in components/contact.py
'''
raise NotImplementedError()

def get_contact(self, update=False):
''' fetch part of contact
for part
- all the massive platforms and friends are fetched
- if update, only starred chatrooms are fetched
for options
- update: if not set, local value will be returned
for results
- chatroomList will be returned
it is defined in components/contact.py
'''
raise NotImplementedError()
公众号是当做朋友添加的吗?

3.假教是从哪里看出来send_video那个API可能没实现的?raise NotImplementedError()不是每个API后面都有这一行吗?

项目思路梳理

上周在课程仓库发的项目报名,实在是太粗糙了...不忍直视... 在 @luckysilly 引导帮助下重新梳理了想法。
希望这个梳理做一个引子,大家一起讨论,使得项目的目标、内容、如何操作更明确,也便于后面再讨论具体的分工~

大家有任何想法,可随时回复在这个 issue 下或群里~

  1. 为什么要做

    • 幼儿进入幼儿园开始更广泛的社交后,难免会使用微信与小朋友、老师、家人进行互动,而现在的微信是基于成人网络社交设计,希望做一个端口,使得基于微信的社交过程对幼儿更加友好。
    • 在幼儿使用微信互动时,因为幼儿识字量有限,家长总是需要在旁边提供辅助,一方面干扰了幼儿社交过程,另一方面占用了家长的时间、精力。
    • 家长一方面难以避免幼儿使用电子设备,另一方面又十分担心幼儿会沉迷于电子设备,要防止儿童使用时间过长。
    • 除了幼儿,微信使用对于有阅读障碍的人士也存在障碍。
  2. 想实现什么

    • 将幼儿常用联系人、公众号汇总在一起,突出常用功能(语音、视频、表情),易于发现使用
    • 用图片、语音等设计手段替代文字标示,减少文字造成的障碍
    • 防沉迷功能:使用时间多于一定标准,则发送提示且不能再继续使用
    • (理想)根据儿童的情绪类型给予相应的视觉设计反馈,帮助儿童疏导认知自己的情绪
  3. 怎么去做

    • 平台选择:订阅号?公众号?小程序?
    • 后台接口:获得家长微信联系人、公众号的接口?跳转信息详情页的接口?如果以上两个接口没有,是否有替代接口以及替代的实现方式?(发起语音、视频的接口是否有?)
    • 前端接口和代码:订阅号或公众号是否有接口改变视觉设计?如何没有,以何种方式实现视觉引导?如果选择小程序,前端怎么写? HTML + CSS?
    • 多用户登陆:数据库如何实现?数据库选择,使用 SQLAlchemy( flask_sqlalchemy) ?(部署平台?)
    • 协作:如何保障 ALL KNOW ALL(项目团队内、py103) ?不同模块,多人共同编程,如何协作(变量名、方法名、逻辑过程说明)?不同的模块,怎么组合成产品?

粗糙原始注册流程:

粗糙原始版使用流程:

结业展示

大家好,我们是「一群大孩子」组。我们的结业项目是TuTu--儿童微信助手。


1

网络社交时代,儿童也有社交需求。
大多数家长并不想孩子过早拥有手机。然而家长的微信联系人、订阅号繁多,儿童使用不便。


妈妈的微信不好用.mp4
3.
如何让「妈妈的微信」更好用?

Uploading 3儿童助手.png…


4.
TuTu助手的作用
Uploading 4TuTu 的 作用.png…


5.
家长部署,打造儿童专属的空间。
Uploading 5家长部署.png…


家长部署.mp4
6.
儿童可以直寻找自己的好友与公众号了,还可以与 TuTu 聊天。


Uploading 6儿童使用.png…

儿童使用.mp4

TuTu 是如何实现的?
Uploading 7TuTu 揭秘.png…

Uploading 7-1.png…


8.
TuTu 的诞生我们也多次掉坑,经过教练的帮助终于做出 MVP.

Uploading 8TuTu 的诞生.png…


9.
致谢
Uploading 9致谢.png…


10.
End
Uploading 10End.png…

机器人问题汇总

每天晚上 8:00-11:30 机器人上线

机器人使用过程遇到问题,可直接回复在这个 issue。

@windflyinglx @draachen 修改并 push 过的问题,请在问题的 comment 内写明修改时间、修改人。如:鸡腿儿,3.18 已修订。不确定如何修改的问题,咱们群中讨论。

设计资料大集

大家可以在这里随便发和设计相关的资料,积攒多了以后再分类整理进入 wiki O(∩_∩)O~

结业路演展示方式、内容的沟通

大家好,结业路演即将到来。

1. 路演提示 ,我们要及时报名

线上结业路演时间为:12wd1 (170327) ~ 12wd3 (170329),每晚 19:00 ~ 21:00

  • 每个项目 20mins 路演
    • 5~8 mins 项目演示
    • 12 mins 教练及同学问答
    • 2 mins 教练及同学对项目进行评分
  • 每晚 3~5 个项目进行路演

为鼓励大家积极报名,路演采取抢跑模式,路演越早,得分越多。

12wd1 路演 在最终得分上 +15%
12wd2 路演 在最终得分上 +10%
12wd3 路演 在最终得分上 +5%

报名 DEADLINE: 请在 12wd0 (170326) 22:00 前提交以下路演资料。

  • 报名路演日期:12wd1/12wd2/12wd3
    - 路演方式:方式1/方式2
    - 项目资料
    - 项目名称:
    - 项目简介:
    - 项目封面配图:制作一张封面配图,迅速抓住师友的注意力
    - 项目仓库地址:
    - 项目执行、成果展示视频链接:
    - 5mins 以内
    - 将视频上传至百度云盘,方便课程组汇总备份
    - 将视频上传至腾讯视频个人账号
    - 项目小组简介
    - 小组名称:为你的小组取个响应的名称吧!
    - 小组介绍:介绍一下小组成员,140 字以内

2. 路演讨论

李欣与我初步沟通,选择了在方式1微信群内演示的方式。
我们讨论了要在5~8分钟项目演示中要展示的要点。预想以制作视频、GIF 等形式展示,并撰写说明字幕、群内发布文稿。

1.项目开发的背景、目的。

2.我们取得了什么成果,解决了什么问题:

  • 聊天信息分流。儿童聊天和家长的聊天区分。
  • 公众号分流,儿童订阅公众卡号存储、查找。
  • 机器人回复。减少孩子社交挫败感。

3.我们应用了什么所学技术:

  • 微信个人号 API调取。
  • 图灵机器人的 API调取。

4.我们在开发过程中遇到的坑与尝试:

  • 部署服务器,遇到个人号功能屏蔽的瓶颈。

5.我们在结业项目中的亮点

  • 想法和成果之间需要行动实现。实际去敲代码。
  • 遇到瓶颈的反思总结。先有想法,再去尝试。目标定为实现MVP。
  • 止损思维的实践。删除开发语音功能任务。
  • 设计的审美。头像的设计以及图灵机器人的年龄设置为小朋友。

3.下一步行动

  • 请大家针对路演讨论,提出想要展示或者不宜展示的内容。
  • 请大家商讨、领取制作视频、撰写说明文档、制作封面、上传等工作。
  • 其他注意事项。
  • 组织材料进行预演。

结业作业谢幕部分文案

(效果:向上滚动)
大家好:
我们是儿童微信助手 TuTu制作小组:一群大孩子。
《头像》@draachen:对数据感兴趣的主程序员,化繁为简解决问题;
<头像>@windflyinglx:在线教育从业,繁忙工作中坚持码代码,探索功能实现;
<头像>@BravoCiao:喜欢有趣的事情,沟通总结梳理能力爆表,机器人头像设计;
<头像>@luckysilly:银行从业,对产品感兴趣,主持协调项目展示;
<头像>@hunshiouren:NGO 培训师,项目挖坑人。
从小白到完成项目,
感谢开智学堂,感谢大妈,感谢所有教练,感谢我们自己。<流泪>
在这个过程中我们经历了许多大坑。懂得了想法与成果之间需要行动,show me the code.
遇到瓶颈要止损。我们在教练的帮助下,认清作业目的、时效要求、资源情况、删除掉了开发语音功能任务。
在错误中不断反思、尝试迭代,把目标打磨为MVP.
最后,强调一下我们的审美☺:
我们采用了来自英国的设计师@BravoCiao原创的头像,相信看到 TuTu你会喜欢它。我们将图灵机器人的年龄设置为儿童,希望小朋友能够愉快地与 TuTu 聊天。


一群大孩子倾情奉献
-End-

程序开发资料大集

大家可以在这里随便发程序开发方面相关的资料,积攒多了以后再分类整理进入 wiki O(∩_∩)O~

Week1Day1_假教帮忙梳理的itchat思路整理

经过假教梳理,放弃公众号,直接用itchat做一个个人号聊天机器人。
把消息全部存在另外一个服务器上( 例如阿里云 ),通过聊天机器人转发给指定的联系人。
搜索公众号,搜到之后推回来一个二维码,长按之后跳转到该公众号的页面。

数据库里面要存储:userid、对应的联系人列表、关注的公众号列表。

疑问:但是因为itchat能直接通过备注、微信名、微信号搜索到联系人,是不是这些信息也要写到数据库里?

示意图:

有错漏欢迎指出~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.