SakkolDev
All projects
2024 · Full-Stack Developer

Plant Lab Laboratory

Reduced manual reporting errors by 40% and accelerated sample tracking through a unified internal dashboard.

LaravelReact.jsMySQL

Business Context

Plant Lab relied on disjointed spreadsheets and manual entry for tracking thousands of biological samples. This caused data duplication, reporting delays, and increased the risk of critical errors in sample lifecycle management.

The Solution

A comprehensive full-stack laboratory management system designed to centralize and automate sample tracking.

  • End-to-end sample lifecycle tracking (intake to disposal)
  • Automated daily report generation
  • Role-based access control for lab technicians and admins

Architecture Overview

The architecture follows a standard Model-View-Controller (MVC) pattern adapted for a decoupled frontend. Laravel handles API routing, authentication, and complex business logic, while React fetches state via REST.

React SPA Frontend
Laravel RESTful API
MySQL Relational Database
Automated Cron Scheduler (Reports)

Tech Stack & Reasoning

TechnologyWhy it was used
LaravelRapid backend API development and built-in robust authentication.
React.jsComponent-based architecture for building a complex, interactive dashboard UI.
MySQLStrong relational data integrity required for accurate sample tracking.

Key Features

  • Real-time sample status updates with <2s latency
  • Dynamic filtering and search across 10,000+ historical records
  • Automated PDF report generation and email distribution

Engineering Highlights

Implemented eager loading in Laravel to solve N+1 query problems, reducing API response time by 60%.

Designed a normalized MySQL schema ensuring ACID compliance for critical lab data.

Built a custom React data grid optimized for rendering hundreds of rows without performance degradation.

Challenges & Solutions

Challenge

Generating heavy PDF reports blocked the main API thread, causing timeouts.

Solution

Moved PDF generation to a background queue system using Laravel Jobs and Redis.

Impact: Eliminated timeouts and reduced user-facing response times for report requests to <100ms.

Performance Metrics

~150msAPI Response
99.9%Data Accuracy

What I Learned

  • Managing background jobs and queues for heavy processing tasks
  • Optimizing complex SQL queries in an ORM environment
  • Building accessible and performant data tables in React

System Interface

Plant Lab Laboratory — feature view