All Projects → notadd → nt-cms

notadd / nt-cms

Licence: Apache-2.0 license
nest.js with CMS

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to nt-cms

Nodepress
😎 RESTful API service for Blog/CMS, powered by @nestjs
Stars: ✭ 829 (+1259.02%)
Mutual labels:  cms-framework, nestjs
server-next
😎 The next generation of RESTful API service and more for Mix Space, powered by @nestjs.
Stars: ✭ 43 (-29.51%)
Mutual labels:  cms-framework, nestjs
BUA-FE
本科毕设,搭建一套小而全面的校园外卖系统。主要使用wei-xin-mini + TypeScript + nest.js + typeORM + rabbitmq技术栈。
Stars: ✭ 20 (-67.21%)
Mutual labels:  nestjs
nestjs-rmq
A custom library for NestJS microservice. It allows you to use RabbitMQ or AMQP.
Stars: ✭ 182 (+198.36%)
Mutual labels:  nestjs
crypto-watchdog
Crypto Watchdog is an open-source developer friendly project, periodically queries crypto market and notifies potential pumps & recently added tokens/coins via web-hooks.
Stars: ✭ 22 (-63.93%)
Mutual labels:  nestjs
nestjs-microservice-boilerplate
Boilerplate for a TCP Microservice in NestJS with TypeORM and tests
Stars: ✭ 45 (-26.23%)
Mutual labels:  nestjs
nestjs-throttler-storage-redis
Redis storage provider for the nestjs-throttler package.
Stars: ✭ 56 (-8.2%)
Mutual labels:  nestjs
graphql-utils
Utilities and helpers to make working with GraphQL.js based APIs simpler.
Stars: ✭ 42 (-31.15%)
Mutual labels:  nestjs
nestjs-pg-notify
NestJS custom transport strategy for PostgreSQL Pub/Sub.
Stars: ✭ 53 (-13.11%)
Mutual labels:  nestjs
blog-be-next
The back-end platform for Yancey blog.
Stars: ✭ 33 (-45.9%)
Mutual labels:  nestjs
ncms
Java CMS engine. Host and develop multiple websites inside a single instance through the GUI and benefit from features like A/B testing, affiliate tracking tools, and a high performance template engine with CSS stylesheets processing & scripts minification.
Stars: ✭ 32 (-47.54%)
Mutual labels:  cms-framework
mdrip
turns markdown into tested tutorials
Stars: ✭ 30 (-50.82%)
Mutual labels:  cms-framework
truthy
Open source headless CMS API written using NestJS, that has pre built modules like User Management, Role Management, Permission Management, Email Module, Account Settings, OTP, Throttling, RBAC support, Localization, and many more.
Stars: ✭ 200 (+227.87%)
Mutual labels:  nestjs
mmo-arch
Base Architecture for creating scalable games using microservices through Angular, Phaser, NestJS, NATS, and MySQL
Stars: ✭ 25 (-59.02%)
Mutual labels:  nestjs
matnbaz
📚 The source-code for matnbaz.net. A monorepo containing the back-end (NestJS/Prisma/Apollo), front-end (Next.js/Apollo) and some tooling.
Stars: ✭ 481 (+688.52%)
Mutual labels:  nestjs
nestjs-mercurius
NestJs module to use Mercurius as GraphQL server
Stars: ✭ 38 (-37.7%)
Mutual labels:  nestjs
azure-func-http
Azure Functions HTTP adapter for Nest framework (node.js) 🌥
Stars: ✭ 121 (+98.36%)
Mutual labels:  nestjs
strapi-pro
Strapi.io with image upload, location, wyswyg input
Stars: ✭ 14 (-77.05%)
Mutual labels:  cms-framework
nestjs-dynamoose
Dynamoose module for Nest
Stars: ✭ 84 (+37.7%)
Mutual labels:  nestjs
Nine-chat-frontend
采用socketio打造的多人实时通讯多房间在线音乐聊天室
Stars: ✭ 54 (-11.48%)
Mutual labels:  nestjs

Notadd CMS

特性

  • 现代化管理面板(可选)
  • AOP 面向切面编程,基于 Nest.js
  • 便于维护,基于 Typescript
  • 高性能 【异步IO,单机并发1W+】
  • 不限于前端,支持 Vue(推荐Nuxt)、Angular 、React
  • 强大的 API: 支持 Graphql
  • 优雅的 ORM : 基于Typeorm

功能

  • 文章分类管理
  • 文章列表查询
  • 文章批量审核
  • 文章批量删除
  • 页面分类管理
  • 页面管理
  • 轮播图管理

环境要求:

Nodejs: 8+

数据库: PostgreSQL 9.5+, MariaDB 10.2+, Mysql 5.7+, SQLite, Mongodb, MS SQL Server, Oracle (任意一种)

1分钟安装环境

使用说明

gitclone源码;

  • git clone https://github.com/notadd/nt-cms.git

进入项目目录下安装项目依赖

  • npm install

创建项目需要的数据库并在ormconfig.js文件中配置数据库连接;

postgres:
    const SOURCE_PATH = process.env.NODE_ENV === 'development' ? 'packages' : 'src';
    module.exports= {
        type: 'postgres',
        host: 'localhost',
        port: 5432,
        username: 'postgres',
        password: '123456',
        database: 'module_test',
        entities: ['src/**/**.entity.ts', 'node_modules/**/**.entity.js'],
        logger: 'advanced-console',
        logging: true,
        synchronize: true,
        dropSchema: false
    }
mysql:
    const SOURCE_PATH = process.env.NODE_ENV === 'development' ? 'packages' : 'src';
    module.exports= {
        type: 'mysql',
        host: 'localhost',
        port: 3306,
        username: 'test',
        password: 'test',
        database: 'module_test',
        entities: [
            'src/**/**.entity.ts'
        ]
        logging: true,
        synchronize: true
    }
sqlite:
    const SOURCE_PATH = process.env.NODE_ENV === 'development' ? 'packages' : 'src';
    module.exports= {
        type: 'sqlite',
        database: 'cms_test.db',
        storage: 'src/entities/*.entity.ts',
        synchronize: true,
        entities:[
            'src/entities/*.entity.ts'
        ]
    }

配置完成,运行项目

  • npm run start 如果没有报错,打开浏览器访问: localhost:3000/graphql

实体定义

  • classify: 文章分类。一个文章分类对应多篇文章。
  • article: 文章。一篇文章对应一个文章分类。不同分类的文章需要输入的内容可能不同,详见信息项。
  • item: 信息项。你可以设置你想要文章展示的项,并将其与文章分类相绑定。这样在添加对应分类的文章时,也需要添加该信息项的值。
  • page-sort: 页面分类。等同于文章分类。
  • page: 页面。页面的作用是控制页面上需要显示的内容,如:页面footer、header、友情链接、联系我们等部分的内容。
  • pictureGroup: 轮播图组。可以设置多组轮播图,使其在不同的页面上展示。

常用接口介绍

文章分类

Mutation:

  • addClassify 添加文章分类
  • deleteClassify 删除文章分类

Query:

-getAllClassify 获取全部分类结构 -getOneClassify 获取单个文章分类数据

文章

Mutation:

  • createArticle 创建文章
  • recycleArticleByIds 批量将文章放入回收站
  • auditArticle 批量审核文章

Query:

  • getAllArticle 根据条件分页搜索文章
  • getRecycleArticle 根据条件搜索回收站文章
  • getArticleById 通过id获取文章详情

信息项

Mutation:

  • createItem 创建信息项
  • deleteItem 删除信息项

Query:

  • getAllItem 获取所有信息项
  • getOneItem 通过id获取信息项详情

轮播图

Query:

  • findpG 通过id查看图片组信息

Mutation:

  • addPicGroup 新增图片组
  • addPicture 新增图片组的图片

tips:系统已自动创建一个根分类,所以用户在创建顶级分类时"上级分类"应传'root',即:

    mutation{
        addClassify(classify:{
            label:"分类1",
            value:"classify_1",
            parent:{value:"root"}
        })
        {
            code
            message
        }
    }

项目结构

.
├── ormconfig.js            数据库配置
├── src
│   ├── cms.module.ts       cms模块配置
│   ├── entities            实体对象
│   ├── graphqls            graphql接口
│   ├── interceptors        拦截器
│   ├── interfaces          接口定义
│   ├── resolvers           resolver层
│   └── services            方法实现层
└── starter
    ├── app.module.ts       根模块
    └── main.ts             程序入口文件

环境安装

install

安装Node.js

Windows
  1. 点击下载 Node.js
  2. 安装Node.js

Powershell/CMD 可以打印出这个说明安装成功。(部分系统需要重启后环境变量才生效)

>> node -v
v10.15.1
>> npm -v
6.4
Macos
  1. 点击下载 Node.js
  2. 安装Node.js

打印出这个说明安装成功。(部分系统需要重启后环境变量才生效)

>> node -v
v10.15.1
>> npm -v
6.4
Ubuntu/Debian (支持ARM及X86平台)
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

(如果安装缓慢,可以使用国内镜像源) 终端可以打出以下信息说明安装成功:

$ node -v
v10.15.1
$ npm -v
6.4
Centos/Redhat/Fedora (支持X86平台)
curl -sL https://rpm.nodesource.com/setup_10.x | bash -

(如果安装缓慢,可以使用国内镜像源) 终端可以打出以下信息说明安装成功:

$ node -v
v10.15.1
$ npm -v
6.4
使用 NVM 安装(支持 所有 Linux 及 Raspbian ,支持多版本管理)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

如果没 curl ,可以使用 wget 安装

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

使用 NVM 安装nodejs :

nvm install --lts

终端可以打出以下信息说明安装成功:

$ node -v
v10.15.1
$ npm -v
6.4
使用 snap 安装(支持 所有 Linux )
sudo snap install node --classic --channel=10

(如果提示 snap 不存在,请先安装 snapd) 终端可以打出以下信息说明安装成功:

$ node -v
v10.15.1
$ npm -v
6.4

安装数据库

Postgresql (推荐)

Windows 和 Mac 用户 点击下载安装包

Linux 用户使用 apt/yum 等直接安装:

apt install  postgresql

或者使用 snap :

snap install postgresql10

如果要开外部访问,以及其他配置,请参考 postgresql配置

Sqlite3 无需安装,Mysql 及 其他数据库 请参考官方文档自行安装。
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].