Course Code: IT154P
Course Title: Interfacing Machine-to-Machine Communications
This project integrates a desktop application, a mobile application, a web service, and microcontrollers to create a system that monitors attendance using NFC-RFID modules.
Desktop Application
The desktop application is a Universal Windows Platform (UWP) application used by the administrator to register plastic cards or keychains with NFC-RFID. An Arduino microcontroller interfaces with the device using USB. The application was developed using C# and .NET Framework. This application interfaces with a web service backend using HTTP.


Mobile Application
The mobile application is the interface for the users who logs their attendance on the system. Aside from that, the user may also change his password.



Web Service
The backend web service holds the data. It is hosted in a web hosting provider. This backend is created using PHP and uses an MySQL database for storing data. A RESTful API allows the mobile application and the web application to interface with the web service.



Hardware
The hardware used for this project includes two Arduino UNO microcontrollers, one WeMos D1 R2 microcontroller, and two Mifare RC522 RFID modules.
The first set only includes an Arduino with an RFID module. This device is connected to the computer where the desktop application resides using USB. This device is responsible for capturing the RFID data of the card in order to register it with the system.

The second set has an Arduino Leonardo, a WeMos D1 R2, and an RFID module. The RFID module is connected to the Arduino Leonardo which is used to capture the RFID data of the card. Then, the Arduino transmits this data to the WeMos over UART, which then transmits it to the web service for logging.

System Flow
The system starts when the administrator prepares a user account and an RFID card. This process involves creating a user account first and then binding an RFID card to that account. A card can be bound to the user account by tapping the card onto the sensor. When this process is complete, the user account is now created.
The user would then log into the mobile application using the supplied user account’s username and password. An attendance is logged after the user taps his card onto the reader. The user may see the times he tapped his card onto the RFID sensor.
