Skip to content

Latest commit

 

History

History
156 lines (125 loc) · 5.49 KB

README-EN.MD

File metadata and controls

156 lines (125 loc) · 5.49 KB

English| 简体中文

ChanCMS Content Management System

ChanCMS is a high-quality, practical CMS system developed based on Node, Express, MySQL, and Vue3. It's lightweight, flexible, stable, high-performing, and easily extensible, making development simpler.

🌈 System Features

  • Self-developed. Built upon the self-developed chanjs lightweight MVC framework, it's lightweight, flexible, stable, high-performing, and sustainable.
  • SEO. Focused on SEO, pseudo-static HTML, and pinyin navigation, with flexible keyword and description settings.
  • Security. Based on knex, it has high defense against SQL injection, API permission checks, ensuring security.
  • Flexibility. Fragment functionality supports fragmented text configuration for versatile text configuration.
  • High Extensibility. Supports extended models, field configurations, dynamic table generation, and strong extensibility.
  • Modular. All modules are independent and do not interfere with each other.
  • Plugin-based. Supports flexible development and complete functional modules.
  • Headless CMS, providing API support for multiple terminals.

🚧 Functionality Overview

  • Website Information
  • Site Management
  • Category Management
  • Article Module
  • Tag Management
  • Fragment Management (advertisements, fragment texts, company address, phone, name, WeChat, etc., universal module)
  • Extended Models
  • Article Collection
  • User Management
  • Menu Management
  • Login Logs
  • Online Messages
  • Chinese-English Switching
  • Text-to-Speech
  • PDF Preview (on-demand loading)
  • Local Upload & Qiniu Cloud Upload
  • Logging Functionality

⛱️ Software Architecture

Client-side Tech Stack

Admin Interface

  • vue3
  • vue-router
  • pina
  • element-plus
  • vite4
  • tinymce

Server-side Tech Stack

  • nodejs v20.16.0+
  • express 4.18+
  • mysql v5.7.26
  • knex (for SQL operations)
  • art-template v4.13.2+
  • pm2 v5.2.2
  • jwt
  • pm2 (for production)
  • nodemon (for development)

Project Structure

server deployment code
|- app
    |- config
    |- extend 
    |- middleware 
    |- modules
      |- api Backend APIs
        |-- controller
        |-- service
        |-- middleware (optional)
        |-- router.js
      |- home Template rendering
        |-- controller
        |-- middleware (optional)
        |-- service
        |-- view
        |-- router.js
      |- common General APIs, available for H5, apps, mini-programs, etc.
        |-- controller
        |-- middleware (optional)
        |-- service
        |-- view
        |-- router.js
    |- plugins 
        |- plus-pdf Plugin – on-demand PDF loading
          |-- controller
          |-- service (optional)
          |-- middleware (optional)
          |-- router.js
        |- plus-wechat Plugin – WeChat Mini Program login
          |-- controller
          |-- service (optional)
          |-- middleware (optional)
          |-- router.js
        ***
    |- public
    |- utils
    |- router.js
  app.js

🍅 Cases

👵 Development Documentation

❤️ Project Engagement

👴 Project Communication

If you like our project, please give it a Star. For WeChat group communication, please contact via WeChat: yanyutao2014 🧒 👧 👱 🧔 👴

License

This project is licensed under the Apache License 2.0. For more details, see the LICENSE file.

Warning

  • Prohibited from being used for any illegal commercial purposes or any unlawful or unethical behavior.
  • The maintainers and contributors of the project are not responsible for any direct or indirect losses caused by improper use of the code or resources in this project.
  • Please respect laws and ethical norms and use the resources of this project legally and reasonably.
  • Any violation of the above regulations will be subject to legal pursuit.

Some Screenshots of the Admin Panel

Admin Panel Display

Admin Panel Display

Admin Panel Display