WECO开源共创社区

作者: 宏伦工作室 | 来源:发表于2016-11-05 20:02 被阅读80次

    1 项目描述##

    WECO是一个开源的共创社区,是一片创意互相碰撞的土壤。在这里你可以查看、喜欢、评论他人发布的创意,可以关注和私信感兴趣的用户,当然还可以发布属于自己的创意!

    WECO首页.png 发布创意.png

    作为WECO的技术支持和开发人员,简单来说,WECO是一个类似微博和知乎的内容管理系统,只不过这里的内容元素,也即微博的微型博客、知乎的问题以及答案,变为了创意。因此在考虑功能设计的时候,主要是从创意本身的特点出发,并结合社交平台和内容管理系统常见功能进行考虑。

    2 技术框架##

    后端框架我选择了Flask,一个轻量级的python框架,前端使用Flask依赖的Jinjia渲染模版,以及Jquery、Bootstrap和font-awesome等。项目中还用Flask编写了一些RESTful APIs,基于动态分配token机制实现用户的认证和授权。

    由于WECO属于商业项目,故此处不直接透露其部署地址,但代码始终坚持开源原则,托管于Github,clone下来后经过几步简单的配置,一个崭新的WECO(或者说常见功能皆具备的社交平台)就可以运行了。开发时间为1个月,总共有205次commit,代码量为万行级别。

    3 功能介绍##

    WECO 1.0已经实现的功能包括但不仅限于:

    1. 用户注册、登录;
    2. 以“最新”、“最热”两种排序方式在首页瀑布流展示最新创意;
    3. 创意详情页包括封面图片、标题、分类、标签、作者信息、点赞数、阅读量、评论数和创意内容,喜欢创意、评论创意和评论点赞功能也已经实现;
    4. 查看其他用户,包括ta的头像、昵称、个性标签,ta的基本资料、ta的创意、ta喜欢的创意、ta的关注和ta的粉丝,关注用户和发送私信的功能也已经实现;
    5. 填写完创意标题、分类和标签,选择创意封面图片、编辑好创意内容之后即可发布创意。创意的内容由一段段文字、一张张图片和一个个视频等原子元素组成,发布之后还可以继续以时间轴的顺序编辑、添加和删除创意内容的各个原子元素;
    6. 编辑创意,包括更换封面图片、修改创意标题、分类和标签等内容;
    7. 搜索创意,搜索目标可以是创意或其他用户,支持关键词匹配搜索和创意分类搜索,并且实时显示“我”的最近搜索记录和当前系统实时热搜;
    8. 个人中心,在这里可以编辑我的个人资料,包括修改头像、昵称、性别、个性标签等信息,并可以删除自己的创意、取消喜欢已经喜欢的创意、取消关注已经关注的用户、查看有哪些粉丝关注了自己;
    9. 我的消息,在这里可以看到和自己相关的动态,如他人关注了自己、喜欢了自己的创意等,还可以看到别人发送的私信消息并打开私信窗。

    文字介绍完了,准备开始发图了!

    注册登录.png 首页.png 创意详情.png 用户详情.png 发布创意1.png 发布创意2.png 发布创意3.png 搜索创意.png 个人中心.png 我的消息.png

    4 遇到的困难##

    大的技术难点有三,第一是Flask应用的部署,需要使用到wsgi,这里有参考介绍;第二是APIs的设计,采取动态分配token机制的话需要考虑到多设备登录有效性问题;第三是应用的模块化,Blueprint是一个好的解决方案,或者这里也有指导介绍。

    小的技术难点包括图片上传、前端压缩和裁剪等,主要使用了lrzcropit两个js库,万事开头难,一开始的摸索是必须的,学会之后就会方便高效很多。

    5 总结##

    本次项目给了我一个Flask实战的好机会,其实也是边学边用、在使用的过程中加强自己对Flask的熟悉程度。Flask相对于CI、TP等php框架最大最明显的优势是其为python框架,而python有着各个领域浩瀚无尽的拓展包。另外也接触了前端裁剪、压缩、上传图片,这些点在现在常见的应用中还是相当重要的。

    相关文章

      网友评论

        本文标题:WECO开源共创社区

        本文链接:https://www.haomeiwen.com/subject/gfjguttx.html