GithubHelp home page GithubHelp logo

tnfe / shida Goto Github PK

View Code? Open in Web Editor NEW
568.0 24.0 143.0 40.39 MB

《视搭》是一个视频可视化搭建项目。您可以通过简单的拖拽方式快速生产一个短视频,使用方式就像易企秀或Maka 等 h5 搭建工具一样的简单,仅抛砖引玉希望您喜欢。

License: Apache License 2.0

JavaScript 29.17% Vue 52.76% CSS 4.55% HTML 11.02% SCSS 2.00% EJS 0.50%

shida's Introduction

介绍

《视搭》是一个视频可视化搭建项目。您可以通过简单的拖拽方式快速生产一个短视频,使用方式就像易企秀或百度 H5 等 h5 搭建工具一样的简单。目前行业内罕有关于视频可视化搭建的开源项目,《视搭》是一个相对比较完整的开源项目,仅抛砖引玉希望您喜欢。

《视搭》的后端视频合成部分是基于FFCreatorhttps://github.com/tnfe/FFCreator这个库开发的,FFCreator 是一个基于 node.js 的轻量、灵活的短视频加工库。您只需要添加几张图片或视频片段再加一段背景音乐,就可以快速生成一个很酷的视频短片。

《视搭》前端部分 fork 自quark-h5项目开发,本项目未做太多扩展。quark-h5 是一个很棒的 h5 搭建开源工具,架构合理、代码比较清晰易读,感谢作者。

项目预览:

工程目录

|-- client					--------前端项目界面代码
    |--common					--------前端界面对应静态资源
    |--components				--------组件
    |--config					--------配置文件
    |--eventBus					--------eventBus
    |--filter					--------过滤器
    |--mixins					--------混入
    |--pages					--------页面
    |--router					--------路由配置
    |--store					--------vuex状态管理
    |--service					--------axios封装
    |--App.vue					--------App
    |--main.js					--------入口文件
    |--permission.js			        --------权限控制
|-- server					--------服务器端项目代码
    |--confog					--------配置文件
    |--controller				--------数据库链接相关
    |--extend					--------框架扩展
    |--model					-------Schema和Model
    |--middleware				--------中间件
    |--core				        --------Koa MVC实现自动加载核心文件
    |--views					--------ejs页面模板
    |--public					--------静态资源
    |--router.js				--------路由
    |--app.js					--------服务端入口
|-- common					--------前后端公用代码模块(如加解密)
|-- engine-template			        --------页面模板引擎,使用webpack打包成js提供页面引用
|-- config.json				        --------配置文件

编辑器整体设计

  • 一个组件选择区,提供使用者选择需要的组件
  • 一个编辑预览画板,提供使用者拖拽排序页面预览的功能
  • 一个组件属性编辑,提供给使用者编辑组件内部 props、公共样式和动画的功能
  • 用户在左侧组件区域选择组件添加到页面上,编辑区域通过动态组件特性渲染出每个元素组件。

视频合成核心

开发调试

启动 mongodb

安装依赖

npm i

启动前端并开启 watch 模式

此模式下会开启热更新

npm run watch-publish

启动服务端

npm run dev-server
启动完访问http://localhost:4000 就可以看到工程页面了

先注册用户, 然后登陆体验操作

发布部署

启动 mongodb

需要全局安装 pm2

npm install pm2 -g

启动命令

npm run publish && npm run start

License

Apache License 2.0

shida's People

Contributors

aliaszz avatar drawcall avatar fu1996 avatar libai11 avatar weihongbin1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shida's Issues

发布生成视频无法合成视频

在本地部署之后,点击发布按钮,无法进行合同视频,
图片
图片
后台提示, 未找到ffmpeg, 我本地已经安装ffmpeg , 请教要如何操作

生成视频报错文件找不到

[FF] Creator production error. "ENOENT: no such file or directory, lstat 'D:\workspace\shida-main\server\public\static\demo\wryh.ttf'"

访问localhost:4000显示not found

按照readme开发调试中的步骤运行的,唯一有一些不同的可能是mongodb配置,我安装完之后打开数据库后没做其他配置工作,但分别执行npm run watch-publish和npm run dev-server都没有报错,请问该怎么解决?

添加视频元素无效

添加视频元素后合成视频。
像是视频元素的路径错误,如图
image

在我强制删掉之前一个resource之后,又会出现找不到如下的mp3文件,我保证并没有添加任何的音频文件
image

运行过程的一些问题记录

本地环境 mac

  1. Python 版本要求 3.10,3.11 版本会有依赖报错;

  2. Nodejs 版本 v14.21.3;

  3. package.json 新增两项依赖 "webpack": "^4.46.0", "webpack-cli": "^4.0.0",我本地的swiper依赖进行了指定版本 "swiper": "=5.4.5" ;

  4. server/public/static 目录下新增 fonts 目录,把字体文件都放进去;
    image

  5. server/service/video.js 78行 改为 comp.setFont('./public/static/demo/wryh.ttf'); 是找当前目录下的 public 文件夹;

缺少文件夹server/public

[FF] Creator production error. "ENOENT: no such file or directory, lstat '/Users/green/Git/shida/server/public/static/demo'"
[FF] Creator production error. "ENOENT: no such file or directory, lstat '/Users/green/Git/shida/server/public/static/demo/wryh.ttf'"

Is there any dev plan for the future?

Hi,

This project seems quite interesting, just would like to know if there is any dev plan? Templates will be supported? Restful api there?

Best wishes, Jason

npm i c出现问题

请问作者有时间把node-sass这个毒瘤去掉了吗,太折磨人这个东西

无法发布视频

image

server is starting........!
(node:10656) DeprecationWarning: collection.count is deprecated, and will be removed in a future version. Use Collection.countDocuments or Collection.estimatedDocumentCount instead
3===>>C:\Users\wang\Desktop\shida-main\server\public\resource
4===>>3pjmJKDzn8R.png===>>C:\Users\wang\Desktop\shida-main\server\public\images\3pjmJwgmeUw\3pjmJKDzn8R.png===>>\resource\images\3pjmJwgmeUw\3pjmJKDzn8R.png
FFCreator start
[FF] FFVideo Audio preProcessing errorffmpeg exited with code 1: C:\Users\wang\Desktop\shida-main\server\public\resource\resource\files\3pjh8UJ4Dc9.mp4: No such file or directory

FFCreator error: ffmpeg exited with code 1: C:\Users\wang\Desktop\shida-main\server\public\resource\resource\files\3pjh8UJ4Dc9.mp4: No such file or directory

[FF] Creator production error. FFEvent {
type: 'error',
pos: 'preProcessing',
error:
'ffmpeg exited with code 1: C:\Users\wang\Desktop\shida-main\server\public\resource\resource\files\3pjh8UJ4Dc9.mp4: No such file or directory\n' }
events.js:167
throw er; // Unhandled 'error' event
^

Error: ffmpeg was killed with signal SIGKILL
at ChildProcess. (C:\Users\wang\Desktop\shida-main\node_modules\fluent-ffmpeg\lib\processor.js:180:22)
at ChildProcess.emit (events.js:182:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)

Emitted 'error' event at:
at emitEnd (C:\Users\wang\Desktop\shida-main\node_modules\fluent-ffmpeg\lib\processor.js:424:16)
at endCB (C:\Users\wang\Desktop\shida-main\node_modules\fluent-ffmpeg\lib\processor.js:544:13)
at handleExit (C:\Users\wang\Desktop\shida-main\node_modules\fluent-ffmpeg\lib\processor.js:170:11)
at Socket. (C:\Users\wang\Desktop\shida-main\node_modules\fluent-ffmpeg\lib\processor.js:209:9)
at Socket.emit (events.js:187:15)
at Pipe._handle.close (net.js:606:12)

[nodemon] app crashed - waiting for file changes before starting...

上面报错中的3,4===>>是对server/sevice/file.js输出部分文件路径
module.exports = app => ({
async upload(file, folder = "images") {
const { $config } = app;

const fileData = fs.readFileSync(file.path);

const folderPath = path.join(path.join(__dirname, "../public/resource/"), folder); // 拼接文件夹

console.log("1===>>"+folderPath)
await fs.ensureDir(folderPath);

const filePath = path.join(folderPath, file.name);
fs.writeFileSync(filePath, fileData);

console.log("2===>>"+$config.baseUrl + `/resource/${folder}/${file.name}`)

return {
  fileName: file.filename,
  localPath: filePath,
  url: $config.baseUrl + `/resource/${folder}/${file.name}`
};

},

async fileUpload({ file, folder = "images" }) {
const { $config } = app;

const resource = path.join(__dirname, "../public/resource/");
console.log("3===>>"+resource)

const fileData = fs.readFileSync(file.path);
const folderPath = path.join(resource, folder);
await fs.ensureDir(folderPath);

const name = shortid.gen();
const ext = file.name.split(".").pop();
const fileName = `${name}.${ext}`;
const filePath = path.join(folderPath, fileName);
await fs.outputFile(filePath, fileData);

console.log("4===>>"+fileName+"===>>"+filePath+"===>>"+path.join($config.baseUrl || "", "/resource/", folder, fileName))

return {
  fileName,
  localPath: filePath,
  //url: path.join($config.baseUrl || "",folder, fileName)
  url: path.join($config.baseUrl || "", "/resource/", folder, fileName)
};

}
});

==================================================》》》》
感谢回复!

启动server失败,xvfb-run: error: Xvfb failed to start

  • 启动命令:xvfb-run -s '-ac -screen 0 1280x1024x24' nodemon server/app.js dev -L
  • 报错信息:
~/workspace/H5/shida$ npm run dev-server
Debugger listening on ws://127.0.0.1:53787/d8ef2411-675d-4e38-b46a-42e243d35039
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.

> [email protected] dev-server /home/chenjm/workspace/H5/shida
> xvfb-run -s '-ac -screen 0 1280x1024x24' nodemon server/app.js dev -L

xvfb-run: error: Xvfb failed to start
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev-server: `xvfb-run -s '-ac -screen 0 1280x1024x24' nodemon server/app.js dev -L`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] dev-server script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/admin/.npm/_logs/2023-06-07T03_05_00_835Z-debug.log
Waiting for the debugger to disconnect...
  • 启动失败后,尝试使用 pm2 start -f server/app.js,就可以启动了。不知道为什么 xvfb-run -s '-ac -screen 0 1280x1024x24' nodemon server/app.js dev -L 启动不了了,昨天还可以启动的。
~/workspace/H5/shida$ pm2 start -f server/app.js
Debugger listening on ws://127.0.0.1:53372/32caf6df-fa33-4ced-9e57-b1d5660f73fc
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
[PM2] Applying action restartProcessId on app [app](ids: 0,1)
[PM2] [app](0) ✓
[PM2] [app](1) ✓
[PM2] Process successfully started
┌────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name   │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0  │ app    │ default     │ 0.1.0   │ fork    │ 937890   │ 0s     │ 0    │ online    │ 0%       │ 20.5mb   │ admin   │ disabled │
│ 1  │ app    │ default     │ 0.1.0   │ fork    │ 937896   │ 0s     │ 136  │ online    │ 0%       │ 20.3mb   │ admin   │ disabled │
└────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
[PM2][WARN] Current process list is not synchronized with saved list. Type 'pm2 save' to synchronize.
Waiting for the debugger to disconnect...

支持多段音频和页面预览

一个页面支持多段音频不,或者以单段音频长度为时间轴控制多个动画元素。建议添加预览的功能,支持预览单个页面或所有页面集合

启动失败,为定义的$primary

nodejs:v14.21.3 sass:1.58.3 ;sass-loader :7.3.1
system:windows server 2019 standard 8cores 16G ram 200G
too many errs,I don't known what to do..

` ERROR Failed to compile with 24 errors 17:08:57

error in ./client/pages/template/components/page-manage.vue?vue&type=style&index=0&id=a23239c4&lang=scss&scoped=true&

Syntax Error:

             ^
  Undefined variable.


45 │ background: $primary;
│ ^^^^^^^^

stdin 45:19 root stylesheet
in C:\Users\Administrator\Downloads\shipin\shida\client\pages\template\components\page-manage.vue (line 45, column 19)

@ ./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader??ref--8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./client/pages/template/components/page-manage.vue?vue&type=style&index=0&id=a23239c4&lang=scss&scoped=true& 4:14-499 15:3-20:5 16:22-507
@ ./client/pages/template/components/page-manage.vue?vue&type=style&index=0&id=a23239c4&lang=scss&scoped=true&
@ ./client/pages/template/components/page-manage.vue
@ ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./client/pages/template/Index.vue?vue&type=script&lang=js&
@ ./client/pages/template/Index.vue?vue&type=script&lang=js&
@ ./client/pages/template/Index.vue
@ ./client/router/index.js
@ ./client/main.js
@ multi ./node_modules/@vue/cli-service/node_modules/webpack-dev-server/client?http://192.168.1.56:8080/sockjs-node (webpack)/hot/dev-server.js ./client/main.js

error in ./client/pages/home/template-list.vue?vue&type=style&index=0&id=2fffdc9c&lang=scss&scoped=true&

centos7 安装 出现问题

npm ERR! code 1
npm ERR! path /home/shita/shida-main/node_modules/gl
npm ERR! command failed
npm ERR! command sh -c prebuild-install || node-gyp rebuild
npm ERR! make: 进入目录“/home/shita/shida-main/node_modules/gl/build”
npm ERR! CXX(target) Release/obj.target/angle_common/angle/src/common/Float16ToFloat32.o
npm ERR! make: 离开目录“/home/shita/shida-main/node_modules/gl/build”
npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored.
npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored.
npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored.
npm ERR! prebuild-install warn install /usr/lib64/libm.so.6: version GLIBC_2.27' not found (required by /home/shita/shida-main/node_modules/gl/build/Release/webgl.node) npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using [email protected] npm ERR! gyp info using [email protected] | linux | x64 npm ERR! gyp info find Python using Python version 3.6.8 found at "/usr/bin/python3" npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! gyp info spawn /usr/bin/python3 npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args '/home/shita/shida-main/node_modules/node-gyp/gyp/gyp_main.py', npm ERR! gyp info spawn args 'binding.gyp', npm ERR! gyp info spawn args '-f', npm ERR! gyp info spawn args 'make', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/home/shita/shida-main/node_modules/gl/build/config.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/home/shita/shida-main/node_modules/node-gyp/addon.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/root/.cache/node-gyp/16.18.1/include/node/common.gypi', npm ERR! gyp info spawn args '-Dlibrary=shared_library', npm ERR! gyp info spawn args '-Dvisibility=default', npm ERR! gyp info spawn args '-Dnode_root_dir=/root/.cache/node-gyp/16.18.1', npm ERR! gyp info spawn args '-Dnode_gyp_dir=/home/shita/shida-main/node_modules/node-gyp', npm ERR! gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/16.18.1/<(target_arch)/node.lib', npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/shita/shida-main/node_modules/gl', npm ERR! gyp info spawn args '-Dnode_engine=v8', npm ERR! gyp info spawn args '--depth=.', npm ERR! gyp info spawn args '--no-parallel', npm ERR! gyp info spawn args '--generator-output', npm ERR! gyp info spawn args 'build', npm ERR! gyp info spawn args '-Goutput_dir=.' npm ERR! gyp info spawn args ] npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! gyp info spawn make npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! ERROR: ld.so: object '/path/to/your/libm.so.6' from LD_PRELOAD cannot be preloaded: ignored. npm ERR! In file included from /usr/include/limits.h:191:0, npm ERR! from /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/limits.h:194, npm ERR! from /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/syslimits.h:7, npm ERR! from /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/include/limits.h:34, npm ERR! from /opt/rh/devtoolset-7/root/usr/include/c++/7/climits:42, npm ERR! from ../angle/src/common/angleutils.h:14, npm ERR! from ../angle/src/common/debug.h:16, npm ERR! from ../angle/src/common/mathutil.h:12, npm ERR! from ../angle/src/common/Float16ToFloat32.cpp:9: npm ERR! /usr/include/bits/xopen_lim.h:64:10: fatal error: bits/uio_lim.h: 没有那个文件或目录 npm ERR! #include <bits/uio_lim.h> npm ERR! ^~~~~~~~~~~~~~~~ npm ERR! compilation terminated. npm ERR! make: *** [Release/obj.target/angle_common/angle/src/common/Float16ToFloat32.o] 错误 1 npm ERR! gyp ERR! build error npm ERR! gyp ERR! stack Error: make` failed with exit code: 2
npm ERR! gyp ERR! stack at ChildProcess.onExit (/home/shita/shida-main/node_modules/node-gyp/lib/build.js:203:23)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)
npm ERR! gyp ERR! System Linux 3.10.0-1160.83.1.el7.x86_64
npm ERR! gyp ERR! command "/usr/bin/node" "/home/shita/shida-main/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /home/shita/shida-main/node_modules/gl
npm ERR! gyp ERR! node -v v16.18.1
npm ERR! gyp ERR! node-gyp -v v9.4.0
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2023-06-18T13_44_32_851Z-debug-0.log

'making' of undefined

/shida-main/server/router.js:58
router.post("/quark/video/making", $middleware.auth, $controller.video.making);
^

[TypeError: Cannot read property 'making' of undefined
at module.exports (/Users/xiongzhihua/Desktop/learn-project/shida-main/server/router.js:58:74)
at initRouter (/Users/xiongzhihua/Desktop/learn-project/shida-main/server/core/loader.js:51:26)
at new Application (/Users/xiongzhihua/Desktop/learn-project/shida-main/server/core/index.js:29:20)
at Object. (/Users/xiongzhihua/Desktop/learn-project/shida-main/server/app.js:2:13)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
at internal/main/run_main_module.js:17:47
]
[nodemon] app crashed - waiting for file changes before starting...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.