Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • J jz-api-core
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • jizhi-backend
  • jz-api-core
  • Wiki
  • jz backend project skeleton

Last edited by xigua Jul 16, 2017
Page history
This is an old version of this page. You can view the most recent version or browse the history.

jz backend project skeleton

积致后端宝项目简要框架目录结构 v1.0

项目主要技术

  • typescript 2.0.3+
  • Node.js v6.0+ Prefer 8.x
  • Hapi.js 13.5+
  • jsonwebtoken v7.1.7+ with hapi-auth-jwt2 7.0.1+
  • Mongo DB 3.2+ (为了运行项目,本地需要安装mongo,可以使用docker) with Mongoose 4.6.1+
  • graphql 0.9.1+
  • node-cron 1.1.3+ for cron job

项目主要目录结构

  • config - config文件目录,主要配置在config.dev.json文件中,production环境的config文件在config.production.json中
  • customCode - 目前只包含一个customHooks.ts文件,具体见下
  • dbschema - 包含所有entity的定义json文件
  • graphql - 所有graphql的定义文件,其中__common.ts是一些基础逻辑,不要修改,可以自行添加的graphql定义在__custom.ts文件中。其它的ts文件内容为后端宝自动生成,一般也不要去改,改了之后要commit到git,以后系统生成文件有变化的时候,要做好merge和resolve conflict的工作。
  • lib - 各种项目开发者可以自行添加的库文件,现有的一些文件也可以修改使用
    • cron.ts - cron job,中有例子,若部署到多个instance,则需要一个switch避免重复执行问题
    • faker.ts - 虚假数据生成工具,配合graphql的generateFakeData mutation使用
    • fixture.ts - 系统启动时自动调用的,主要用户创建默认admin用户
    • helper.ts - 一些辅助功能逻辑
    • userService.ts - 一些可以修改的用户相关逻辑,比如用户登录,修改密码等
  • routers - 绝大部分API都是通过graphql,只有少数在routers目录下建立新目录,现在的file.ts用于文件上传
  • index.ts - main文件,一般不需要修改
Clone repository
  • Home
  • jz backend project skeleton