Là một CMS phát triển bằng laravel nên cấu cấu trúc cũng gần giống laravel. Ở đây chỉ đưa ra một số điểm khác biệt cũng là quan trọng cho CMS. Các bạn có thể tìm hiểu thêm laravel tại đây!

1. Cấu trúc project (cms)

project/
├── app/             // thư mục chứa code logic
├── boostrap/        // thư mục hệ thống
├── config/	         // thư mục chưa file cấu hình
├── database/        // thư mục cơ sở dữ liệu dạng code
├── helpers/         // thư mục chứa các hàm hỗ trợ
├── json/             // thư mục dữ liệu form, menu, dữ liễu mẫu
├── packages/        // thư mục các gói thư viện hỗ trợ
├── public/          // thư mục chứa tài nguyên ảnh, js, css, ...
├── resources/       // thư mục tài nguyên, chứa view
├── routes/          // thư mục chứa các route điều hướng
├── tests/           // thư mục ứng dụng
├── themes/          // thư mục giao diện dược upload
├── z-dev/           // thư mục thư viện rời. hỗ trợ file dev
├── .env             // file cấu hình các biến môi trường
├── artisan          // tập lệnh của laravel
├── dev              // Tập lệnh của cma
├── server.php
├── webpack.min.js
├── ... {một số file cấu hình}

 

2. Cấu trúc app/

Cấu trúc app cũng gần giống Laravel chỉ khác là được chia ra theo chức năng và thêm một vài mắt xích xử lý dữ liệu


app/
├── Console/
├── Crawlers/                    // chức năng crawl dữ liệu
├── Engines/	                 // Các class chức năng dộc lập
├── Http/                        // Xử lý request
│   ├── Controllers/             // chứa các controller
│   │   ├── Accounts/            // xử lý các yêu cầu tài khoản
│   │   ├── Admin/               // Quản trị website theo các hạng mục liên quan
│   │   │   ├── Business/        // các controller chức năng web công ty
│   │   │   ├── Default/         // các chức năng gói mặc định
│   │   │   ├── Ecommerce/       // Các controller xử lý bán hàng
│   │   │   ├── General/         // ... dùng chung
│   │   │   ├── News/            // ... Tin tức
│   │   │   ├── Personal/        // trang cá nhân
│   │   │   ├── AdminController.php
│   │   │   ├── AjaxController.php
│   │   │   ├── DashboardController.php
│   │   ├── Apis/                // Xử lý các api request
│   │   ├── Clients/             // Xữ lý các request ở phía khách hàng
│   │   ├── AuthController.php
│   │   ├── Controller.php         
│   ├── Middlewares/
│   ├── Kermel.php
├── Masks/           // (mặc nạ) các đối tượng dai8 diện cho model trong view
├── Models/          // Model
├── Repositories/    // các cấu trúc xử lý dữ liệu
├── Support/
├── Validators/      // Xử lý dữ liệu user gửi lên
├── web/             
├── ... (Một số thư mục của laravel)
3. Cấu trúc thư mục json

Đây là thư mục quan trọng giúp cấu hình, hiển thị form, hiểu thị danh sách bản ghi nếu sử dụng chế độ đặc biệt trong controller


json/
├── admin/                       // các file cấu hình cho admin
│   ├── forms/                   // chứa các file cấu hình để hiển thị form
│   │   ├── page.json            // Chứa thông tin input, layout hiển thị trên trang form
│   │   ├── *.json               // tương tự với các file khác
│   ├── menu/                    // chứa các file cấu hình hiển thị menu trên trang admin hoặc menu bất kỳ
│   │   ├── base.json
│   │   ├── ...
│   ├── modules/                 // Chứa thông tin form và danh sách bản ghi theo module
│   │   ├── projects/            // module project bao gồm form và cách thức hiển thị bản ghi
│   │   │   ├── categories/      // module project category bao gồm form và cách thức hiển thị bản ghi
│   │   │   │   ├── form.json    // Cấu hình form Danh mục dự án
│   │   │   │   ├── list.json    // Cấu hình Danh mục danh sách
│   │   │   ├── form.json        // Cấu hình form dự án
│   │   │   ├── list.json        // Cấu hình danh sách
│   │   ├── */                   // module bao gồm form và cách thức hiển thị bản ghi
├── clients/                     // Tương  tự admin
├── config/                      // Cấu hình các chức năng hệ thống
│   ├── ecomerce.json
│   ├── general.json
│   ├── personal.json
│   ├── products.json
│   ├── system.json              // cấu hình chức năng cho từng loại web
│   ├── user.json
│   ├── web.json
├── data/
├── Webdata/

 

4. Cấu trúc thư nục Views

resources/views/
├── accounts/
├── admin/                       // Các view của trang admin
│   ├── _components              // các thành phần trong trang như header, sidebar, footer, modal
│   ├── _layouts                 // Các khung (vỏ) để hiển thị trang web
│   ├── _meta
│   ├── _modals                  // modal
│   ├── _module                  // view cho form và list
│   ├── _pagination              // phân trang
│   ├── _templates               // giống component nhưng nhỏ và lặt vặt hơn
│   ├── alert                    // view hiễn thị thông báo
│   ├── auth                     // view đăng nhập và một số thao tác liên quan trong admin
│   ├── crawlers                 // crawl data
│   ├── dashboard                // view dashvoard
│   ├── dynamics                 // danh sách và các mục liên quan của kênh đăng bài
│   ├── errors                   // thong báo lỗi
│   ├── forms                    // form và template input
│   ├── html
│   ├── menus                    // quản lý menu
│   ├── pages                    // trang
│   ├── pending                  // không quan trọng
│   ├── permissions              // chức năng phân quyền
│   ├── posts                    // bài viết
│   ├── products                 // sản phẩm
│   ├── profile                  // trang cá nhân
│   ├── settings                 // thiết lập
│   ├── sliders                  // slider
│   ├── tags                     // thẻ bài viết
│   ├── themes                   // giao diện
│   ├── users                    // quản lý người dùng
├── client-libs/                 // Các thư viện dùng trong view phía client
├── clients/                     // Chứa các view của giao diện
├── mails/                       // Các view của email
├── sitemap/                     // sitemap