Giter Site home page Giter Site logo

ryanraw / accretion Goto Github PK

View Code? Open in Web Editor NEW

This project forked from accretion-dev/accretion

0.0 1.0 0.0 809 KB

All-in-one Personal Knowledge Management System, in dev.

License: MIT License

Python 2.98% Makefile 0.29% JavaScript 93.00% Vue 2.70% Shell 1.02%

accretion's Introduction

Accretion

一体化的知识、信息、日程、时间和事件管理系统,主要包括以下几个模块

  • Brainhole: 系统的后端
  • Horizon: 系统前端,用于数据的查询和展示
  • Inflow: 配套的爬虫系统,用于信息收集
  • Lightcone: 时间、日程管理系统,同时用于所有数据在时间轴上的可视化

文件结构

  • design: 系统设计笔记和特性开发管理
  • brainhole: brainhole后端的开发目录
  • config.js: 项目整体参数配置文件
  • database, data: 储存数据库和数据文件的默认目录,可在config.js中更改
  • dev-scripts: 项目开发、运行、调试相关脚本
  • makefile: 项目开发、运行、调试相关命令
  • package.json: 仅仅安装了babel相关依赖,用来进行js语法转换

开发环境

  • 前端和后端部分采用ES2015+ 语法,为了兼容性,使用babel进行转换
  • 使用concurrently和nodemon自动监视相关文件夹,实现热重载
  • 后端部分可在chrome://inspect中通过12345端口来debug(可通过.inspect-port.txt文件调整)
    • 入口文件中我们有 var d = global.d = {}
    • 则可以在任何文件中令 d.x = x
    • 于是我们可以在chrome的console中使用d.x对x进行浏览和debug

程序开发与运行

  • 依赖安装
npm i
cd brainhole; npm i
  • 运行各个组件
    1. make database
      • 根据configs/config.js中的信息运行数据库
    2. make brainhole-watch
      • 打开babel, 监视相应源代码目录, 进行语法转换
    3. make brainhole-dev
      • 监视brainhole/server目录(此文件由babel对brainhole/server-src进行语法转换得到)
      • 运行入口文件index.js
  • 使用make tmux可以在tmux中一次性运行上述组件(推荐)
  • 打开http://127.0.0.1:3000
  • debug
    • 打开chrome, 输入chrome://inspect
      • Discover network targets => Configure
        • 增加 127.0.0.1:12345
      • 现在可以看到运行着的后端
      • 打开控制台, 全局变量d中记录着需要debug的东西

项目开发进展:

项目还在开发初期. 后端还没写完,前端一点没动...

  • 程序最终会是跨平台的, windos, linux 和mac都支持
  • 目前我的开发环境为linux, 所以所有的开发配置脚本都是基于linux平台的
  • 对于windows用户,肯定会做最大程度的封装,到时候鼠标双击一下就可以运行

预计开发时长: 半年以上(因为是个人的业余项目)

项目设计思路: https://zhuanlan.zhihu.com/p/57614943

accretion's People

Contributors

fmajor avatar

Watchers

James Cloos avatar

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.