Back to Projects
Internal SystemFeatured2 views

DAMS

Dashboard Attendance Monitoring System - DAMS is a web-based attendance monitoring dashboard designed to help companies track employee attendance, shift schedules, check-in status, lateness, and attendance summaries through an integrated system connected with Odoo HRIS.

Tech Stack

JavaScriptReactTypeScriptViteJSZustandExpressJSNodeJSOdoo IntegrationMySQLDockerNginxAzureGitHub
Project preview for DAMS

Goal

Solve a concrete workflow problem with a maintainable web system.

Status

Featured published project

Reading

4 min read

DAMS – Dashboard Attendance Monitoring System

DAMS is a web-based attendance monitoring dashboard developed to help companies monitor employee attendance data in a more centralized, structured, and real-time-oriented way.

The system is integrated with Odoo HRIS data to display employee attendance, shift schedules, check-in status, lateness information, and daily attendance summaries through a dedicated dashboard.

This project was created to make attendance monitoring easier for HR, administrators, and related teams, especially when attendance data needs to be checked across many employees, shifts, and operational schedules.

Background

In a company with many employees and different working schedules, attendance monitoring can become difficult if the data is only checked manually or directly from the main HRIS system.

Several issues can occur, such as difficulty identifying employees who have not checked in, unclear attendance status, slow data loading, and the need to repeatedly check employee schedules and attendance records from different sources.

DAMS was developed to help solve these problems by providing a dedicated dashboard that simplifies attendance monitoring and presents important attendance information in a clearer and more accessible way.

Main Features

Attendance Monitoring Dashboard

The Attendance Monitoring Dashboard is used to display employee attendance data in one centralized view.

Through this dashboard, users can monitor daily attendance status, including employees who have checked in, have not checked in, are late, or are off based on their work schedule.

This feature helps the team monitor attendance conditions faster without manually checking each employee one by one.

Odoo HRIS Integration

DAMS is integrated with Odoo HRIS as the main data source for employee, attendance, and shift schedule information.

The backend service communicates with Odoo endpoints and processes the data before displaying it in the dashboard.

This integration helps make the dashboard more useful because the data is connected with the existing company HRIS system.

Shift Schedule Mapping

The system supports attendance monitoring based on employee shift schedules.

By using shift data, DAMS can help identify whether an employee is expected to work, is off, has not checked in yet, or has attendance activity that needs attention.

This feature is important because attendance status cannot be judged only from check-in data. It also needs to consider the employee’s actual work schedule.

Attendance Status Summary

DAMS provides attendance summaries to make monitoring easier.

The dashboard can show important information such as total employees, employees who have checked in, employees who have not checked in, late attendance, and employees with off schedules.

This helps HR and administrators quickly understand the overall attendance condition for the day.

Backend Middleware & Data Processing

The backend service acts as a middleware between the frontend dashboard and Odoo HRIS.

It handles API communication, data normalization, pagination, filtering, caching, and response optimization so the frontend can receive cleaner and more usable data.

This approach also helps reduce direct load to Odoo and makes the dashboard more stable when handling large attendance datasets.

My Role

In this project, I was involved in developing the system from the backend, frontend, API integration, data processing, deployment, and production configuration sides.

My main responsibilities included:

  • Developing the backend middleware using Node.js and Express.js
  • Integrating the system with Odoo HRIS APIs
  • Processing employee, attendance, and shift schedule data
  • Implementing pagination, filtering, and data normalization
  • Building the frontend dashboard using React and Vite
  • Creating attendance summary views and monitoring pages
  • Handling API performance optimization and large data responses
  • Configuring deployment using Docker, Nginx, and Ubuntu VPS
  • Setting up domain, reverse proxy, SSL, and production environment
  • Debugging integration and deployment issues in the production environment

Tech Stack

This project was built using React.js, Vite.js, TypeScript, Tailwind CSS, Node.js, Express.js, Odoo HRIS API, REST API integration, Docker, Nginx, Certbot, GitHub Actions, and Ubuntu VPS.

Result

DAMS successfully became an attendance monitoring dashboard that helps the company view attendance data more clearly and efficiently.

With this system, HR and related teams can monitor employee attendance status, shift schedules, check-in conditions, and daily attendance summaries through a centralized dashboard connected with Odoo HRIS.

The project also improved the attendance monitoring process by reducing manual checking and making important attendance information easier to access.

Key Takeaways

Through this project, I learned more about building an internal dashboard that depends on real company data, external system integration, and large data processing.

This project also strengthened my experience in backend middleware development, API integration with Odoo, attendance business logic, frontend dashboard development, performance optimization, and production deployment.

Like this project if it was useful.

0

Arya Dipanegara

Personal developer website for writing, projects, short notes, and practical software work.

Stay in touch

No newsletter flow here. Email works best for project ideas, collaborations, or quick questions.

Email me

© 2026 Arya Dipanegara. All rights reserved.