แจกระบบจัดการเอกสาร โดยใช้ Laravel 5 Framework [PHP+MySQL]

Share Button

ระบบเอกสารที่ผมได้ทำขึ้นมาใช้เครื่องมือในการพัฒนาคือ VSCODE และ Framework ของ ภาษา PHP คือ Laravel 5.6 ส่วน CSS ใช้ Framework Bootstrap 4.1 ในการพัฒนาเช่นกัน ซึ่งไว้ว่าการแจกจ่าย Source code จะเป็นตัวอย่าง code ให้กับผู้ที่สนใจศึกษา Laravel เหมือนผมเช่นกัน และระบบที่ผมนำมาแจกนั้นใช้ Template จาก PikeAdmin ซึ่งมีการใช้ bootstrap 4 ในการทำ Template และในสุดท้ายนี้หากใครมีปัญหาการติดตั้ง สามารถแสดงความเห็นไว้ด้านล่างนี้นะครับ

ระบบเอกสารมีตาราง 3 ตารางได้แก่ ตาราง users, categories, documents

ความสามารถของโปรแกรม

  1. สามารถกำหนดสิทธิ์การเข้าถึงตามผู้ใช้และผู้ดูแลได้ โดยผู้ใช้สามารถอ่านเอกสารได้อย่างเดียว
  2. เอกสารสามารถอัพโหลดไฟล์ได้เฉพาะนามสกุล PDF และป้องกันไม่ให้อัพโหลดนามสกุลอื่น
  3. มีหมวดหมู่เพื่อจำแนกประเภทเอกสารได้
  4. มีระบบตรวจสอบสิทธิ์การเข้าถึง โดยต้องระบบทุกครั้งที่ใช้งาน

ความต้องการของโปรแกรม

  1. PHP version 7.1.3 หรือมากกว่า
  2. ฐานข้อมูล maria DB

ทดสอบการใช้งาน

demo link https://www.bahtsoft.com/demo_ecdocument
username : tawatsak
password : 123456

ดาวน์โหลด

การติดตั้ง

  1. ดาวน์โหลด Project มาแล้ว เปิด Command line เข้าไปโฟล์เดอร์ Project
  2. พิมพ์ composer install
  3. พิมพ์ php artisan key:generate
  4. สร้างฐานข้อมูล และ ตั้งค่าข้อมูลในไฟล์ .env
  5. พิมพ์ php artisan migrate
  6. พิมพ์ npm install
  7. พิมพ์ npm run dev
  8. พิมพ์ php artisan serve
  9. เข้าเว็บ http://127.0.0.1:8000
  10. ตั้งค่ากำหนดสิทธิ์อัพโหลดไฟล์ที่โฟล์เดอร์ storage ให้ทุกคนสามารถอัพโหลดได้ (CHMOD 777)

** ขั้นตอนที่ 5 หากไม่ใช้ migrate สามารถ import sql ได้ (ไฟล์ฐานข้อมูลอยู่ใน root project)

** คู่มือเพิ่มเติม https://laravel.com/docs

*********
Special Thanks
*********
ขอขอบคุณทุกๆท่านที่ทำให้นักพัฒนามีแรงบรรดาลใจในการพัฒนาต่อไปโดยการ บอกต่อ(Share)
ธวัชศักดิ์ แตงเอี่ยม
ขอบคุณครับ

รูปภาพโปรแกรม

benext About benext
โปรแกรมเมอร์ ติดต่อ : itoffside@hotmail.com

Share Button

Published by

benext

โปรแกรมเมอร์ ติดต่อ : itoffside@hotmail.com

2 thoughts on “แจกระบบจัดการเอกสาร โดยใช้ Laravel 5 Framework [PHP+MySQL]”

  1. ลอง import db แล้วขึ้นแบบนี้น่ะครับ

    Error
    SQL query:

    CREATE TABLE `documents` (
    `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `code_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
    `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
    `reference` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    `store` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
    `file_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    `doc_date` timestamp(0) DEFAULT NULL,
    `status` enum(‘normal’,’canceled’,’lost’) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘normal’,
    `created_by` int(11) DEFAULT NULL,
    `updated_by` int(11) DEFAULT NULL,
    `categorie_id` int(11) NOT NULL,
    `created_at` timestamp(0) DEFAULT NULL,
    `updated_at` timestamp(0) DEFAULT NULL,
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `documents_code_no_u[…]
    MySQL said: Documentation

    #1067 – Invalid default value for ‘doc_date’

    1. เครื่องคุณต้องมี 2 สิ่งต่อไปนี้
      – Composser (ใช้ในการพัฒนาและติดตั้งโปรแกรม)
      – NodeJS (ใช้ในการพัฒนาและติดตั้งโปรแกรม)

      จากนั้นทำตาม Step นี้นะครับ
      ดาวน์โหลด Project มาแล้ว เปิด Command line เข้าไปโฟล์เดอร์ Project
      พิมพ์ composer install
      สร้างฐานข้อมูลชื่อ ecdocument
      เข้าโฟลเดอร์โปรเจค สร้างไฟล์ .env (ก๊อปไฟล์ .env.example) ถ้าใครสร้างไม่ได้ให้สร้างบน Editor
      ตั้งค่าฐานข้อมูลในไฟล์ .env ในตัวแปรที่มี คือ DB_ นำหน้า
      พิมพ์ php artisan key:generate
      พิมพ์ php artisan storage:link
      พิมพ์ php artisan migrate
      พิมพ์ php artisan db:seed
      พิมพ์ npm install
      พิมพ์ npm run dev
      พิมพ์ php artisan serve
      เข้าเว็บ http://127.0.0.1:8000
      ตั้งค่ากำหนดสิทธิ์อัพโหลดไฟล์ที่โฟล์เดอร์ storage ให้ทุกคนสามารถอัพโหลดได้ (CHMOD 777)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.