Experienced Software Architect with a strong foundation in Full Stack Development and IoT Systems. I specialize in transforming complex business requirements into high-performance, scalable technical solutions. My expertise lies in designing microservices architectures, optimizing data pipelines, and implementing secure, event-driven systems that bridge the physical and digital worlds.
"Great software is not just about code; it's about the decisions you make to handle change."
| Layer | Technologies & Protocols |
|---|---|
| 🏗️ Infrastructure & IoT | ESP8266 Arduino MQTT HTTP/s Edge Computing |
| ⚙️ Backend Ecosystem | Node.js PHP (Modern) RESTful API Microservices |
| 💻 Frontend Experience | Flutter (Mobile) Bootstrap Responsive Design State Management |
| 🗄️ Data Persistence | MySQL (Relational) Data Normalization Optimization |
| 🛠️ DevOps & QA | Git Robot Framework Automated Testing CI/CD Pipelines |
Highlighted projects demonstrating architectural decisions, pattern implementation, and system complexity.
Pattern: Pub/Sub (MQTT) • Edge Computing • Polling vs Interrupts
The Challenge: Handling real-time state changes from multiple sensors with minimal latency while ensuring data consistency on the web dashboard.
The Solution:
- Implemented Edge Computing on ESP8266 to process sensor noise locally before transmission.
- Utilized Async Non-blocking I/O (millis) to maintain connection stability while sensing.
- Architecture:
Sensor Node->Broker/Gateway->Web Server->Client Dashboard.
Pattern: MVC • Singleton • DAO (Data Access Object)
The Challenge: Building a robust sales platform that separates business logic from presentation, ensuring maintainability.
The Solution:
- Adopted MVC Architecture to decouple the user interface from database operations.
- Implemented Singleton Pattern for Database Connections to manage resource pools efficiently.
- Secured data flow with Prepared Statements and Session-based Authentication state.
Pattern: Provider (Observer) • Repository Pattern • Clean Architecture
The Challenge: Managing complex application state across multiple screens without prop-drilling or tightly coupled widgets.
The Solution:
- leveraged Provider for State Management, allowing a reactive UI that updates instantly upon data changes.
- Structured code using Repository Pattern to abstract data sources (API/Local DB) from the UI layer.
- Clean Architecture: System independent of frameworks, UI, and external agencies.
- SOLID Principles: Ensuring code is easy to maintain and extend.
- DRY (Don't Repeat Yourself): Promoting code reusability and reducing technical debt.
- Security First: Integrating security best practices (Validation, Sanitization, Auth) at every layer.
เพื่อให้การศึกษา Source Code ใน Portfolio นี้เป็นไปได้อย่างราบรื่น แนะนำให้เตรียม Environment ดังนี้ครับ:
- IDE: VS Code (แนะนำติดตั้ง Extension ตามภาษาที่สนใจ)
- Version Control: Git
- Database: XAMPP หรือ Docker (สำหรับ MySQL)
- Choose a Course: เลือกรายวิชาจากตารางด้านล่างตามความสนใจ
- Read the Docs: เข้าไปอ่าน
README.mdของวิชานั้นๆ เพื่อดูวิธีการรันและสิ่งที่ต้องเตรียม (เช่น Library หรือ Database Schema) - Database Setup: หากวิชานั้นมี Database (เช่น SQL หรือ Web) ไฟล์ Schema มักจะอยู่ในโฟลเดอร์
lab/หรือdatabase/ให้ Import เข้า phpMyAdmin ก่อนรัน
หากต้องการดาวน์โหลดเฉพาะโฟลเดอร์ที่สนใจ โดยไม่ต้องการ clone มาทั้งโปรเจกต์ สามารถทำได้ดังนี้ครับ:
- คัดลอก URL ของโฟลเดอร์นั้นจาก Browser
- เข้าไปที่เว็บไซต์ download-directory.github.io
- วาง URL ลงในช่องว่างแล้วกด Enter เพื่อดาวน์โหลดไฟล์ .zip
หากติดตั้ง Git เวอร์ชั่น 2.25 ขึ้นไป:
mkdir my-project
cd my-project
git init
git remote add -f origin https://github.com/zismaildev/cmru-codehub.git
git sparse-checkout set Mobile-Application-Development/mini-project/stock_portfolio_mini_project
git pull origin maingh repo clone zismaildev/cmru-codehub -- --sparse
cd cmru-codehub
git sparse-checkout set Mobile-Application-Development/mini-project/stock_portfolio_mini_projectTip
คำแนะนำเพิ่มเติม: หากมีแผนจะศึกษาหัวข้ออื่นๆ ในภายหลัง การ git clone ทั้งโปรเจกต์เก็บไว้เลยอาจจะสะดวกกว่าในระยะยาวครับ เพราะไฟล์โค้ดส่วนใหญ่มีขนาดไม่ใหญ่มากนัก
| Course Code | Course Name (Topic) | Tech Stack |
|---|---|---|
| COM 1305 | Computer Programming | |
| COM 3302 | Object Oriented Programming | |
| COM 2305 | Web Programming | |
| COM 2701 | Computer Systems & Architecture | |
| COM 3705 | Internet of Things | |
| COM 4304 | Mobile App Development | |
| COM 1602 | Database System 1 | |
| COM 3410 | Fundamentals of Data Science | |
| COM 3604-63 | Data Mining | |
| COM 4501 | Software Testing | |
| COM 4402 | Computer and Network Security |