A full stack web project, all by using LeanCloud, as a LeanEngine demo.
本项目是一个完全基于 LeanCloud 实现的 Web App,产品逻辑不算复杂。使用者可以分享自己的照片到微信朋友圈中,如果有人喜欢 Ta,那么可以点击喜欢按钮,并且可以生成自己的页面。如果彼此喜欢,就可以给双方发送一条短信。
可以扫描二维码体验
非常感谢吴力扬参与产品讨论,并负责界面设计,我个人觉得这个产品界面设计地非常优美,很喜欢。
产品图标
产品主界面效果图
服务端完全使用 LeanCloud,托管于 LeanEngine(LeanCloud 的服务端环境)。Web App 是通过自定义的 API,纯前端调用的方式实现。服务端技术栈主要是 Nodejs + Express,前端技术栈主要是 Vuejs。代码全部采用 ES6 的语法编写,服务端使用 async/await 来处理异步(前端需考虑兼容性)。
. ├── public // 打包后部署的前端代码 ├── server // 服务端代码模块 ├── web // 前端开发期的代码 ├── server.js // 服务端的前置启动逻辑 ├── package.json // 服务端的 Nodejs 配置 └── ... // 其他非关键代码
如果想本地调试,需先按照如下过程安装依赖
// 安装 LeanCloud 命令行工具 $ npm install -g leancloud-cli // 安装 bower $ npm install -g bower // 安装 gulp $ npm install -g gulp
// 本地服务端环境安装,在根目录下执行 $ npm install
// 进入到 web 目录中,分别执行 $ npm install $ bower install
本地需要同时开启服务端环境和前端调试环境
// 首先根据 LeanCloud 的云引擎文档,配置好本地应用信息,没有应用需创建 $ lean app add your_app <your app 的应用 id> // 启动服务端 $ lean up
// 在服务端启动的情况下,新打开一个终端窗口,启动前端调试 $ gulp serve
存储所有用户的信息(因为产品设计上不需用户登录,所以没有使用 AV.User)
字段 | 描述 | 类型 |
---|---|---|
uid | 用户 id | String |
name | 用户名 | String |
photo | 照片的 url | String |
phone | 手机号码 | String |
likes | 喜欢的人的 uid 列表 | Array |
unlikes | 不喜欢的人的 uid 列表 | Array |
likedCount | 被喜欢的次数 | Number |
unlikedCount | 不被喜欢的次数 | Number |
按照如下步骤部署
// 进入 web 目录,执行打包程序 $ gulp build
// 将所有代码部署到 LeanEngine $ lean deploy