WECO开源共创社区

1 项目描述

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

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

2 技术框架

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

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

3 功能介绍

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

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

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

4 遇到的困难

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

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

5 总结

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

若是以为文章不错,不妨点一下左下方的喜欢~