Skip to content

xuejiai/webui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

学记助理-WebUI

学记助理,一款基于统一语义结合智能助理(小五)对话式交互的智能文档,主要用于辅助高效学习与知识管理,目的在于探索一种新的知识载体与交互方式,通过开放社区、人机协作的方式,化繁为简降低信息熵,协同积累知识财富!

特性 Features

技术栈

  • React - A declarative, efficient, and flexible JavaScript library for building user interfaces.
  • Next.js - The React Framework
  • Material UI - React components for faster and easier web development. Build your own design system, or start with Material Design.
  • Typescript - A superset of JavaScript that compiles to clean JavaScript output.
  • Redux - Predictable state container for JavaScript apps
  • Redux-saga - An alternative side effect model for Redux apps
  • GraphQL - GraphQL is an open spec for a flexible API layer.
  • JSS - JSS is an authoring tool for CSS which uses JavaScript as a host language.
  • Three.js - JavaScript 3D library.
  • Konva.js - HTML5 2d canvas js library for desktop and mobile applications
  • Recharts - A composable charting library built on React components
  • Prettier - Prettier is an opinionated code formatter.
  • Eslint - Find and fix problems in your JavaScript code.
  • PM2 - Node.js Production Process Manager with a built-in Load Balancer.
  • Websocket

约定

  • 目录使用小写字母

  • 组件文件使用大写字母

  • 页面文件使用小写字母

  • 组件分类:

    1. 页面组件 /pages,页面初始化、路由入口
    2. 容器组件 src/containers,为组件注入状态
    3. 通用组件 src/components/common
    4. 高阶组件 src/components/hoc
    5. 模块组件 src/module
  • 关于主题样式

开发

# 配置变量
$ cp .env.example .env

# 安装依赖
$ cnpm i

# 开发模式
$ cnpm run dev

部署到生产环境

pm2 Node.js Production Process Manager

# install pm2
$ npm install --global pm2
$ pm2 start

Roadmaps

  • Client: nextjs Typescript material-ui redux threejs
  • Deployment: nginx pm2 nodejs
  • Test: unit tests
  • Test: e2e tests
  • Api: OpenAPI websocket GraphQL
  • Server: integration oat++
  • Feature: authentication