Skip to content

Introduction

Welcome to the Lab Equipment Management System (LEMS) documentation. This guide will help you understand, install, and use our comprehensive laboratory management platform.

What is LEMS?

LEMS is a web-based platform designed to streamline the management of laboratory equipment, user requests, notifications, and administrative tasks. It provides a modern, user-friendly interface for both lab users and administrators.

Key Features

  • User Authentication: Secure login with role-based access control
  • Equipment Management: Track inventory, availability, and usage
  • Request System: Streamlined workflow for equipment requests and returns
  • Real-time Notifications: Instant alerts for important updates
  • Analytics Dashboard: Comprehensive reporting and analytics
  • Multi-device Support: Works on desktop, tablet, and mobile devices

System Architecture

🏗️ Architecture Overview

LEMS follows a modern microservices architecture with separate frontend and backend repositories:

  • Frontend: Next.js application with React components
  • Backend: Node.js/Express.js REST API
  • Database: MongoDB for data persistence
  • Authentication: JWT/PASETO token-based security

Repository Structure

The project is split into two main repositories:

User Roles

👤 User

Students and researchers who request equipment

👨‍🏫 Faculty

Teachers with special permissions for equipment

⚙️ Admin

Administrators who manage the entire system

Technology Stack

Frontend Technologies

  • Next.js: React framework for server-side rendering
  • React: Component-based UI library
  • Tailwind CSS: Utility-first CSS framework
  • JavaScript: Primary programming language

Backend Technologies

  • Node.js: JavaScript runtime environment
  • Express.js: Web application framework
  • MongoDB: NoSQL database
  • JWT/PASETO: Authentication tokens
  • Nodemailer: Email service integration

DevOps & Tools

  • Docker: Containerization platform
  • GitHub: Version control and collaboration
  • ESLint: Code linting and formatting
  • PostCSS: CSS processing tool

Next Steps

Ready to get started? Check out our Quick Start Guide or dive into the Installation Instructions.

For developers, explore the Frontend Documentation or Backend Documentation to understand the codebase structure.

Lab Equipment Management System Documentation