https://github.com/bunyaminyavuz/clis
The primary goal of CLIS (Computer Laboratory Information System) is to modernize and optimize the management of university computer laboratories through automation, real-time monitoring, and secure user access. By leveraging RFID and IoT technologies, CLIS transforms traditional manual processes into a streamlined digital workflow.
https://github.com/bunyaminyavuz/clis
admin-panel computer-engineering educational-project educational-software expressjs information-systems nodejs operator-panel raspberry-pi rbac rfid student-panel
Last synced: 4 months ago
JSON representation
The primary goal of CLIS (Computer Laboratory Information System) is to modernize and optimize the management of university computer laboratories through automation, real-time monitoring, and secure user access. By leveraging RFID and IoT technologies, CLIS transforms traditional manual processes into a streamlined digital workflow.
- Host: GitHub
- URL: https://github.com/bunyaminyavuz/clis
- Owner: BunyaminYavuz
- License: other
- Created: 2024-10-08T11:18:40.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-16T17:18:48.000Z (9 months ago)
- Last Synced: 2025-05-16T17:36:34.594Z (9 months ago)
- Topics: admin-panel, computer-engineering, educational-project, educational-software, expressjs, information-systems, nodejs, operator-panel, raspberry-pi, rbac, rfid, student-panel
- Language: CSS
- Homepage:
- Size: 9.1 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CLIS โ Computer Laboratory Information System
CLIS (Computer Laboratory Information System) is a comprehensive, IoT-powered platform engineered to digitize and streamline the access control and operational management of computer laboratories in educational institutions. Leveraging a robust combination of web technologies and embedded systems specifically RFID authentication integrated with Raspberry Pi hardware CLIS enables seamless, automated check-in/check-out processes, real-time monitoring of lab activity, dynamic computer assignments, and centralized administrative control. It is designed to enhance efficiency, accountability, and security while reducing manual workload and eliminating paper-based tracking systems.
---
## ๐ฏ Purpose
The primary goal of CLIS (Computer Laboratory Information System) is to modernize and optimize the management of university computer laboratories through automation, real-time monitoring, and secure user access. By leveraging RFID and IoT technologies, CLIS transforms traditional manual processes into a streamlined digital workflow.
Specifically, CLIS aims to:
- โ
Eliminate paper-based entry systems by automating student authentication via RFID card scans.
- ๐ Enable real-time logging and tracking of student attendance and session activity.
- ๐ป Facilitate efficient computer assignment and resource allocation through an operator-managed dashboard.
- ๐ง Provide administrators with centralized tools for user management, analytics, system configuration, and historical reporting.
- ๐ Enhance access control and security by enforcing role-based authorization.
- โ๏ธ Improve operational efficiency and transparency across lab environments.
- ๐ Lay the foundation for scalable, smart-campus infrastructure in educational institutions.
---
## ๐ฅ User Roles and Responsibilities
CLIS uses **Role-Based Access Control**. Each role has specific responsibilities and dashboard access:
### ๐ Students
- Authenticate access to computer labs via RFID smart cards.
- Track their personal lab attendance logs and session history.
- Query real-time availability of lab resources through the web interface.
- View operator schedules in advance and plan their lab visits accordingly.
### ๐งโ๐ป Operators
- Oversee active lab environments with real-time occupancy dashboards.
- Dynamically allocate or release computing resources to authorized users.
- Manage workstation statuses by toggling between operational, maintenance, or fault states.
- Validate and rectify anomalies in attendance or session logs.
- Collaboratively create and manage their own lab duty schedules, ensuring proper staff availability and shift coverage.
### ๐ก๏ธ Administrators
- Centrally manage system users, including role-based account provisioning for students and operators.
- Configure and maintain lab inventories, including adding, updating, or deprecating lab resources and machines.
- Generate and export advanced analytical reports on attendance metrics, lab utilization, and system health.
- Broadcast institutional or system-wide announcements to targeted user roles.
- Monitor and audit all lab operations in real time with elevated access controls and administrative insights.
---
## ๐งฉ Features
- ๐ **RFID-based Authentication**
- ๐ก **Raspberry Pi Integration**
- ๐ฅ๏ธ **Real-time Lab Monitoring**
- ๐ฅ **Multi-role Web Dashboard (Student, Operator, Admin)**
- ๐พ **MongoDB Cloud Database**
- ๐ **Detailed Usage Reports**
- ๐ง **Operator Scheduling**
- ๐ฆ **Computer Status Management**
- ๐ **Data Encryption and Role Authorization**
- ๐ **Scalable and User-Friendly Design**
- ๐ **Others...**
---
## ๐ง System Design & Architecture
This section outlines the core design components of the CLIS system, including user interaction, system structure, data modeling, and hardware communication.
### ๐งฑ System Architecture
Provides an overview of software, hardware, and communication layers.

---
### ๐ Use Case Diagram
Illustrates the interaction between system users and functionalities.

---
### ๐งฉ Data Model(Class Diagram)
Describes the relationship between entities in the database.

---
### ๐ก Raspberry Pi โ RFID
Demonstrates the real-time interaction between RFID reader, Raspberry Pi, and backend API.

---
## ๐งฐ Technology Stack
### ๐ Backend & API
- **Node.js** โ Event-driven JavaScript runtime environment powering the backend.
- **Express.js** โ Minimalist web framework for building fast and scalable RESTful APIs.
- **Mongoose** โ Elegant MongoDB object modeling for Node.js.
### ๐๏ธ Database
- **MongoDB (Cloud / Local)** โ NoSQL document database designed for high availability and scalability.
- **MongoDB Atlas** โ Fully managed cloud database service used for production deployment.
- **dotenv** โ Manages environment variables securely for configuration management.
### ๐ฅ๏ธ Frontend
- **EJS (Embedded JavaScript Templates)** โ Templating engine for generating HTML markup with plain JavaScript.
- **HTML5 & CSS3** โ For structuring and styling responsive user interfaces.
- **JavaScript (ES6+)** โ Client-side scripting for dynamic content updates.
- **Bootstrap 5** โ Responsive CSS framework used to create clean, mobile-first UI components and layouts.
### ๐ก IoT & Hardware Integration
- **Raspberry Pi** โ Acts as the hardware bridge for RFID scanning and server communication.
- **RC522 RFID Reader** โ Reads RFID card UIDs via SPI interface.
- **Python 3** โ Scripting language used for handling RFID scans and sending HTTP requests to the backend.
- **GPIO & SPI** โ Communication protocols on Raspberry Pi for hardware interfacing.
### ๐ Security & Authorization
- **Role-Based Access Control (RBAC)** โ Differentiated access levels for Students, Operators, and Admins.
- **JWT / Session Authentication** โ (Optional extension) Secure authentication token handling.
- **Data Encryption (at rest & in transit)** โ Ensuring privacy and compliance with data protection standards (KVKK/GDPR).
### ๐ง Tools & Utilities
- **nodemon** โ Automatically restarts the Node.js server during development.
- **Postman** โ API testing and debugging during backend development.
- **VS Code** โ Primary code editor used in the development process.
- **Git + GitHub** โ Version control and collaboration.
### ๐ Reporting & Monitoring *(Planned/Optional)*
- **Chart.js / D3.js** โ Data visualization for admin reporting panels.
- **Socket.io** โ Real-time bi-directional communication for live dashboard updates.
- **Cron Jobs / Node Schedule** โ Task automation for periodic data cleanup or reminders.
---
## ๐ผ๏ธ Sample Screenshots
### ADMIN

### OPERATOR

### STUDENT

---
---
## ๐ Project Background
This project was developed as a final year thesis for the Computer Engineering Department at Alanya Alaaddin Keykubat University.
> [View Thesis Document (PDF)](./docs/ALKU_CLIS_Thesis.pdf)
---
## ๐ฎ Future Enhancements
- **Cross-Platform Mobile Application**
Develop a native or hybrid mobile app (using Flutter or React Native) to provide real-time notifications, lab schedules, and self check-in/out capabilities.
- **Advanced UX/UI Revamp**
Redesign the user interface with modern design systems (e.g., Bootstrap 5, Material Design) for enhanced accessibility, responsiveness, and user satisfaction.
- **Peripheral System Integration**
Extend the system to manage additional lab resources such as smart lockers, 3D printers, and shared peripherals via modular APIs and GPIO extensions.
- **Face Recognition-Based Authentication (Optional Mode)**
Integrate a privacy-compliant facial recognition system as an alternative or secondary authentication method using OpenCV or cloud-based vision APIs. Ideal for environments requiring elevated security, this mode would support dual-authentication along with RFID or for entry-only terminals.
---
## ๐จโ๐ป Authors
- **Bรผnyamin Yavuz** โ Developer โ [GitHub](https://github.com/BunyaminYavuz)
- **รmer Aygรผn** โ Developer - [GitHub](https://github.com/OmerAygunn)
---
## ๐ License
This project is licensed under a custom license.
See the [LICENSE](./LICENSE) file for more details.
---
## ๐ Tags
`RFID` `Raspberry Pi` `Node.js` `IoT` `MongoDB` `Lab Management` `Access Control` `Fullstack` `Educational Tech`