Skip to content

Repository files navigation

MoneyNextGen - ระบบบริหารจัดการโรงเรียนแบบครบวงจร

ระบบ ERP สำหรับโรงเรียนที่ครอบคลุมตั้งแต่การวางแผนและนโยบาย การจัดซื้อจัดจ้าง การจัดการคลังวัสดุ และการเงิน ในระบบเดียว

✨ คุณสมบัติหลัก

🎯 โมดูลหลัก 6 โมดูล

  1. นโยบายและแผน - จัดทำนโยบาย ยุทธศาสตร์ แผนงาน และโครงการ
  2. พัสดุ/จัดซื้อจัดจ้าง - ใบขอซื้อ การอนุมัติ และการจัดหาพัสดุ
  3. คลังวัสดุ - จัดการสินค้าคงคลัง รับ-จ่าย และตรวจนับ
  4. การเงิน - ทะเบียนคุมเงิน การจ่ายเงิน และรายงานการเงิน
  5. รายงานและวิเคราะห์ - รายงานงบประมาณ สถิติ และแดชบอร์ด
  6. ผู้ใช้และความปลอดภัย - จัดการผู้ใช้ สิทธิ์ และการตรวจสอบ

🔐 ระบบความปลอดภัย

  • JWT Authentication - ระบบเข้าสู่ระบบที่ปลอดภัย
  • Role-Based Access Control (RBAC) - การควบคุมสิทธิ์แบบละเอียด
  • Audit Log - บันทึกการกระทำทุกอย่างในระบบ
  • Multi-level Approval - ระบบอนุมัติหลายชั้น

📊 การจัดการงบประมาณ

  • การคำนวณงบประมาณตามอัตราต่อหัวนักเรียน
  • ติดตามสถานะงบประมาณ: Planned → Committed → Obligated → Accrued → Paid
  • รายงานการใช้งบประมาณแบบ Real-time

🚀 เทคโนโลยี

Backend

  • NestJS - Node.js Framework
  • TypeScript - Type-safe JavaScript
  • TypeORM - Object-Relational Mapping
  • MySQL 8 - ฐานข้อมูล
  • JWT - Authentication
  • Puppeteer - PDF Generation

Frontend

  • Next.js 14 - React Framework with App Router
  • TypeScript - Type-safe JavaScript
  • Tailwind CSS - Utility-first CSS Framework
  • React Hook Form - Form Management
  • Zod - Schema Validation
  • React Query - Data Fetching

DevOps

  • Docker - Containerization
  • Docker Compose - Multi-container orchestration

📋 ข้อกำหนดระบบ

  • Node.js 18 หรือสูงกว่า
  • Docker และ Docker Compose
  • MySQL 8
  • RAM อย่างน้อย 4GB
  • พื้นที่ว่าง 10GB

🛠 การติดตั้ง

1. Clone Repository

```bash git clone https://github.com/your-org/monynextgen.git cd monynextgen ```

2. ตั้งค่า Environment Variables

```bash cp env.example .env ```

แก้ไขไฟล์ `.env` ตามต้องการ:

```env

Database

MYSQL_ROOT_PASSWORD=moneyroot123 MYSQL_DATABASE=monynextgen MYSQL_USER=moneyuser MYSQL_PASSWORD=moneypass123

JWT

JWT_SECRET=your-super-secret-jwt-key-change-in-production

API URL

NEXT_PUBLIC_API_URL=http://localhost:3001 ```

3. เริ่มต้นด้วย Docker Compose

```bash

สร้างและรันทุก services

docker-compose up -d

ดู logs

docker-compose logs -f ```

4. รัน Database Migration และ Seed

```bash

รัน migrations

npm run db:migrate

สร้างข้อมูลเริ่มต้น

npm run db:seed ```

5. เข้าใช้งานระบบ

👤 ผู้ใช้เริ่มต้น

ชื่อผู้ใช้ รหัสผ่าน บทบาท อีเมล
director Director123! ผู้อำนวยการ director@school.ac.th
planner Planner123! ฝ่ายนโยบายและแผน planner@school.ac.th
procurement Procurement123! เจ้าหน้าที่พัสดุ procurement@school.ac.th
finance Finance123! เจ้าหน้าที่การเงิน finance@school.ac.th

🔧 การพัฒนา

รันในโหมด Development

```bash

ติดตั้ง dependencies

npm install

รัน backend

npm run dev:server

รัน frontend (terminal ใหม่)

npm run dev:client

หรือรันทั้งคู่พร้อมกัน

npm run dev ```

โครงสร้างโปรเจค

``` monynextgen/ ├── apps/ │ ├── client/ # Next.js Frontend │ └── server/ # NestJS Backend ├── libs/ │ └── shared/ # Shared Types & Utils ├── database/ # Database Scripts ├── uploads/ # File Uploads ├── assets/ # Static Assets ├── docker-compose.yml # Docker Orchestration └── README.md # คู่มือนี้ ```

API Documentation

เอกสาร API แบบ Interactive สามารถเข้าดูได้ที่: http://localhost:3001/api/docs

Database Schema

ระบบใช้ฐานข้อมูล MySQL ที่ออกแบบตามหลักการ:

  • รองรับภาษาไทย (utf8mb4)
  • Foreign Key Constraints
  • Audit Trail ทุก Transaction
  • Index สำหรับการค้นหาที่เร็ว

📊 โครงสร้างฐานข้อมูลหลัก

ตารางหลัก

กลุ่ม ตาราง คำอธิบาย
ผู้ใช้ users, roles, permissions จัดการผู้ใช้และสิทธิ์
ปีงบ fiscal_years, budget_heads ปีงบประมาณและหัวงบ
แผน policies, plans, projects นโยบาย แผนงาน และโครงการ
พัสดุ pr, po_contract, gr ใบขอซื้อ สัญญา และรับของ
คลัง inv_items, inv_txn สินค้าและการเคลื่อนไหว
การเงิน ap_invoice, payments ใบแจ้งหนี้และการจ่ายเงิน
ตรวจสอบ audit_logs, approvals การตรวจสอบและอนุมัติ

🔍 การทดสอบ

```bash

Unit Tests

npm run test

E2E Tests

npm run test:e2e

Test Coverage

npm run test:cov ```

📈 การ Deploy

Production Build

```bash

Build ทั้งหมด

npm run build

Build แยกส่วน

npm run build:server npm run build:client ```

Docker Production

```bash

Build Docker Images

docker-compose -f docker-compose.prod.yml build

Deploy

docker-compose -f docker-compose.prod.yml up -d ```

🤝 การมีส่วนร่วม

  1. Fork โปรเจค
  2. สร้าง Feature Branch (`git checkout -b feature/AmazingFeature`)
  3. Commit การเปลี่ยนแปลง (`git commit -m 'Add some AmazingFeature'`)
  4. Push ไปยัง Branch (`git push origin feature/AmazingFeature`)
  5. เปิด Pull Request

📝 License

โปรเจคนี้อยู่ภายใต้ MIT License - ดูรายละเอียดในไฟล์ LICENSE

📞 การสนับสนุน

หากมีคำถามหรือต้องการความช่วยเหลือ:

🔄 Updates

  • v1.0.0 - เวอร์ชันแรก (มิถุนายน 2567)
    • โมดูลพื้นฐาน 6 โมดูล
    • ระบบ Authentication และ Authorization
    • Dashboard และรายงานเบื้องต้น

MoneyNextGen - ระบบบริหารจัดการโรงเรียนยุคใหม่ 🏫✨

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages