All Projects → asdwsx1234 → vue-douyin

asdwsx1234 / vue-douyin

Licence: MIT License
基于Vue.js的模仿抖音的Web App

Programming Languages

TSQL
950 projects
Vue
7211 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to vue-douyin

hapi-react-fullstack-boilerplate
Hapi, Sequelize, React, etc.
Stars: ✭ 21 (-76.14%)
Mutual labels:  sequelize
expressjs-typescript-course
Expressjs + TypeScript + Sequelize for Nusendra.com Youtube channel
Stars: ✭ 22 (-75%)
Mutual labels:  sequelize
opentelemetry-ext-js
js extensions for the open-telemetry project
Stars: ✭ 122 (+38.64%)
Mutual labels:  sequelize
Project04-C-Whale
🐋할고래Do - Whale 확장 앱 API를 이용한 할일관리 웹, 앱 서비스
Stars: ✭ 26 (-70.45%)
Mutual labels:  sequelize
rest-api-node-typescript
This is a simple REST API with node and express with typescript
Stars: ✭ 154 (+75%)
Mutual labels:  sequelize
dhiwise-nodejs
DhiWise Node.js API generator allows you to instantly generate secure REST APIs. Just supply your database schema to DhiWise, and a fully documented CRUD APIs will be ready for consumption in a few simple clicks. The generated code is clean, scalable, and customizable.
Stars: ✭ 224 (+154.55%)
Mutual labels:  sequelize
sequelize-db-export-import
Generater models from mysql db or import tables from models files
Stars: ✭ 26 (-70.45%)
Mutual labels:  sequelize
fullstack-graphql-angular
Simple Fullstack GraphQL Application with Angular CLI + Redux. API built with Typescript + Express + GraphQL + Sequelize (supports MySQL, Postgres, Sqlite and MSSQL). WebApp built with Angular CLI + Redux + Async Middleware to access the API.
Stars: ✭ 67 (-23.86%)
Mutual labels:  sequelize
typescript-orm-benchmark
⚖️ ORM benchmarking for Node.js applications written in TypeScript
Stars: ✭ 106 (+20.45%)
Mutual labels:  sequelize
graphcraft
Rapildy build and extend GraphQL API based on Sequelize models. This library helps you focus on business logic while taking care of GraphQL schema automatically.
Stars: ✭ 50 (-43.18%)
Mutual labels:  sequelize
sequelize-slugify
Sequelize Slugify is a plugin for the Sequelize ORM that automatically creates and updates unique, URL safe slugs for your database models.
Stars: ✭ 49 (-44.32%)
Mutual labels:  sequelize
masterclass-nodejs-sql
Código produzido durante o vídeo "Masterclass #01 - SQL no Node.js com Sequelize" no Youtube 🔥
Stars: ✭ 156 (+77.27%)
Mutual labels:  sequelize
my-blog
node.js vue.js nuxt.js hapi.js mysql 仿简书博客
Stars: ✭ 25 (-71.59%)
Mutual labels:  sequelize
sequelize-paper-trail
Sequelize plugin for tracking revision history of model instances.
Stars: ✭ 90 (+2.27%)
Mutual labels:  sequelize
gobarber
Projeto desenvolvido durante as aulas do Bootcamp GoStack10 da Rocketseat
Stars: ✭ 15 (-82.95%)
Mutual labels:  sequelize
mall-by-react
一个react商城客户端和egg服务端
Stars: ✭ 22 (-75%)
Mutual labels:  sequelize
wily
Build Node.js APIs from the command line (Dead Project 😵)
Stars: ✭ 14 (-84.09%)
Mutual labels:  sequelize
express-typescript-seed
Node API seed written in typescript using Express, Sequelize, Passport, and RabbitMQ
Stars: ✭ 67 (-23.86%)
Mutual labels:  sequelize
node-dev-server
基于Express,Sequelize、IIS的MVC新手项目
Stars: ✭ 12 (-86.36%)
Mutual labels:  sequelize
todo-list
A practical web application built with Node.js, Express, and MySQL for you to readily record, view, and manage your tasks with an account: Create, view, edit, delete, filter, and sort expenses are as easy as pie 🥧
Stars: ✭ 18 (-79.55%)
Mutual labels:  sequelize

低仿抖音短视频


临近毕业,选了《微视频社交网站的开发》这个题作为毕业设计,然后就照着抖音打算用自己自学的知识(前端方向)来实现一遍。该项目基本使用JavaScript(ES6/7)开发,混入了Python写的爬虫来爬取梨视频的短视频来丰满自己的数据库。

注:本项目仅供学习交流使用,切勿用于商业用途,如有侵犯第三方版权问题及时联系我

前端技术栈

  • Axios
  • Vue2
  • Vuex
  • Vue Router
  • Vue CLI 3
  • Vue-socket.io
  • Stylus

后端技术栈

  • koa2
  • sequelize
  • ioredis
  • socket.io

项目运行

使用Docker:

自学docker时用这个项目做了实践,不用本地装数据库啥的,(仅效果预览)推荐使用这种方法!!!

  1. 首先安装docker, 如果安装过就不需要了。

  2. (方案1)自己构建镜像,需要等待一段时间。终端在该项目目录下运行 docker image build -t vue-douyin .

    (方案2)直接从dockerhub拉取镜像,需要等待一段时间。终端运行docker pull asdwsx1234/vue-douyin

  3. (方案1)然后运行 docker container run --rm -p 3000:3000 -it vue-douyin 运行该容器。

    (方案2)然后运行 docker container run --rm -p 3000:3000 -it asdwsx1234/vue-douyin 运行该容器。

    端口必须是3000啊,否则请求的地址会错!

  4. 浏览器访问http://127.0.0.1:3000或者http://127.0.0.1:3000/admin

在本机部署的方法:

注意:node 需要 6.0 以上版本

git clone https://github.com/asdwsx1234/vue-douyin.git 

cd vue-douyin

npm install

启动redis数据库和mysql数据库

redis数据库配置文件为./server/redis.js
mysql数据库配置文件为./server/config.js

node ./server/init-db.js (初始化数据库生成表结构) -- 空表
或者将./server/utils/backup.sql还原到你自己的数据库下

node ./server/app.js (启动服务器)

npm run serve (前端项目)


前后端都在一个项目里(感觉不是很合理),所以必须先启动后端相关的服务器。

说明

如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢! 😁

效果演示

服务器2020.03.03到期,到时候就预览不了啦,不续了。

查看demo请戳这里(请用chrome手机模式预览)

移动端扫描下方二维码

目标功能

  • 登录、注册
  • 密码找回
  • 修改个人资料
  • 个人信息浏览(已发布、点赞的视频)
  • 上传头像
  • 发送邮件验证
  • 视频浏览
  • 关注与粉丝
  • 视频点赞、评论点赞
  • 视频评论、回复评论
  • 评论@用户
  • 关注动态浏览
  • 好友(互相关注)间私信
  • 发布动态
  • 搜索视频,用户(根据视频描述,根据昵称或id)
  • 私信、被关注、被评论、被@、被点赞、关注人发布动态的消息提醒
  • 删除评论
  • 删除视频
  • 分享
  • 后台管理

总结

不定时补充,就当写毕业论文了 😁

1、项目断断续续大概写了3个月,重要的功能基本已经完成,而且对vue的MVVM框架有了进一步的理解(数据和视图的分离,解耦,以数据驱动视图,只关心数据变化,DOM操作被封装),也更熟悉了vue的使用。

2、会话管理是用的koa-session2插件,通过session和cookie结合来管理会话。用户登录成功之后可以用户信息存入session中。koa-session2会将sessionId写入cookie,再把session对象写入redis,键值为sessionId,这样只要cookie没有过期,客户端的每次请求就会携带这个sessionId,在服务端就可以从redis中获取登录信息,当然也可以用作会话拦截。注销的时候只需要将ctx.session置为空对象,这样cookie就会被清掉了。

前端

部分截图

登录页

注册页

取回密码页

主页

动态页

消息页

粉丝消息页

赞消息页

@我的消息页

评论消息页

个人资料页

修改个人资料页

搜索视频页

搜索用户页

发布动态页

粉丝列表页

关注列表页

联系人页

私聊页

目录结构

.
├── public
├── server                                             (服务器在这里)
│   ├── controllers                                    (各个类别的controller)
│   ├── models                                         (sequelize模型)
│   ├── static
│   │   ├── assets
│   │   │   ├── avatar                                 (静态资源头像)
│   │   │   ├── css
│   │   │   ├── fonts
│   │   │   ├── img
│   │   │   ├── js
│   │   │   ├── videoCover                             (静态资源视频封面)
│   │   │   └── videoPath                              (静态资源视频)
│   └── utils                                          (服务器util)
├── src                                                (前端项目在这里)
│   ├── base                                           (基础组件)
│   ├── common
│   │   ├── fonts                                      (iconfont)
│   │   ├── js                                         (util/config)
│   │   └── stylus
│   ├── components                                     (逻辑组件)
│   ├── store                                          (vuex)
│   └── views                                          (页面)

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].