Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wangxiao/romantic
A full stack web project, all by using LeanCloud, as a LeanEngine demo.
https://github.com/wangxiao/romantic
Last synced: about 2 months ago
JSON representation
A full stack web project, all by using LeanCloud, as a LeanEngine demo.
- Host: GitHub
- URL: https://github.com/wangxiao/romantic
- Owner: wangxiao
- Created: 2016-07-04T16:29:50.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2016-07-15T07:07:23.000Z (about 8 years ago)
- Last Synced: 2024-07-11T02:50:13.313Z (2 months ago)
- Language: JavaScript
- Homepage: https://leancloud.cn
- Size: 180 KB
- Stars: 178
- Watchers: 15
- Forks: 43
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome - wangxiao/romantic - A full stack web project, all by using LeanCloud, as a LeanEngine demo. (JavaScript)
README
# Romantic
A full stack web project, all by using LeanCloud, as a LeanEngine demo.
## 简介
本项目是一个完全基于 LeanCloud 实现的 Web App,产品逻辑不算复杂。使用者可以分享自己的照片到微信朋友圈中,如果有人喜欢 Ta,那么可以点击喜欢按钮,并且可以生成自己的页面。如果彼此喜欢,就可以给双方发送一条短信。
可以扫描二维码体验
![image](http://ac-kckdyoqh.clouddn.com/02143398c35fcb54.png)
## 特别鸣谢
非常感谢吴力扬参与产品讨论,并负责界面设计,我个人觉得这个产品界面设计地非常优美,很喜欢。
产品图标
![image](http://ac-kckdyoqh.clouddn.com/1fb3dea7158c86e2.png)
产品主界面效果图
![image](http://ac-kckdyoqh.clouddn.com/3cf08487dffd0cc1.png)
## 技术简介
服务端完全使用 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// 启动服务端
$ lean up
```### 启动前端调试环境
```
// 在服务端启动的情况下,新打开一个终端窗口,启动前端调试
$ gulp serve
```## 数据库结构
### UserInfo
存储所有用户的信息(因为产品设计上不需用户登录,所以没有使用 AV.User)
| 字段 | 描述 | 类型 |
|------|------|----|
| uid | 用户 id | String |
| name | 用户名 | String |
| photo | 照片的 url | String |
| phone | 手机号码 | String |
| likes | 喜欢的人的 uid 列表 | Array |
| unlikes | 不喜欢的人的 uid 列表 | Array |
| likedCount | 被喜欢的次数 | Number |
| unlikedCount | 不被喜欢的次数 | Number |## 接口
### 提交用户信息
- POST
- /api/users### 上传头像照片
- POST
- /api/users/uploadPhoto### 获取用户信息
- GET
- /api/users/:uid### 某人喜欢某人
- POST
- /api/users/:uid/like### 某人不喜欢某人
- POST
- /api/users/:uid/unlike## 部署
按照如下步骤部署
### 前端打包
```
// 进入 web 目录,执行打包程序
$ gulp build
```### 部署到 LeanCloud
```
// 将所有代码部署到 LeanEngine
$ lean deploy
```