NB
Back to Selected Projects
Full StackStatus: CompletedYear: 2025

ETLab+

A multi-tenant college laboratory management platform with role-based access control and database isolation.

01. Overview & Description

Built to eliminate paper-based lab sign-in sheets at Sahrdaya College of Engineering and give department heads real-time lab utilization analytics.

02. System Architecture Diagram

Next.js Client -> Node.js REST API -> PostgreSQL Row-Level Security

Interactive System Flow Diagram

Click any node below to inspect its operational role in the pipeline.

● Live Animated Flow
1React18 DashboardFrontend Client2FastAPIEngineREST & SSE Middl3Authentication/ RLSSecurity Policy4PostgreSQL/ SQLitePersistence Laye5LocalOllama LLMQuantized Infere6StreamedResponseUI Rendering Out
Selected Node: React 18 Dashboard(Frontend Client)

Handles user prompt input, interval charts, SSE streaming data rendering, and dark-theme state management.

03. Database Schema & API Specifications

Database Schema Design

PostgreSQL database containing normalized tables for students, faculty, labs, schedules, and reservations linked via Foreign Key constraints.

API Endpoints
  • POST /api/auth/login
  • GET /api/labs/attendance
  • POST /api/reservations

04. Codebase Folder Structure

etlab-plus/
├── server/
│   ├── src/routes/attendance.ts
│   ├── src/db/schema.sql (PostgreSQL RLS policies)
│   └── src/middleware/auth.ts
├── client/
│   └── app/dashboard/page.tsx
└── README.md

05. Visual Evidence & Artifacts

Faculty Attendance Consolecode

$ etlab-plus --status active

[OK] System pipeline initialized

Real-time laboratory seat occupancy matrix

PostgreSQL Query Planterminal

$ etlab-plus --status active

[OK] System pipeline initialized

Indexed query execution under 4ms for 10,000+ attendance logs

06. Engineering Challenges

Preventing concurrent equipment double-booking during peak lab registration hours while maintaining instant query responses.

07. Key Lessons Learned

Enforcing relational constraints at the database engine level prevents application-tier race conditions.

Technologies Used

Full StackPostgreSQLNext.jsTypeScriptNode.jsTailwindCSS