TapTag is a smart attendance system that uses RFID technology to track attendance efficiently.
Homepage · Repository · Drive · Presentation · APIs · Video · Report
Report Bugs · Request Feature · Ask Question · Support 🇵🇸 Palestine
- RFID-Based Authentication: Uses RFID cards/tags to register attendance.
- ESP32 + RFID: Reads RFID tags and sends data wirelessly.
- Wi-Fi Communication: Runs as a Wi-Fi hotspot to communicate with the Flutter app.
- WebSockets Integration: Provides real-time updates.
- Flutter App: Displays attendance logs and statistics.
- Express Backend: Manages user data, attendance logs, and authentication using TypeScript and Mongoose.
This repository contains three main folders:
arduino
- Contains the.ino
file for ESP32 firmware.flutter
- Contains the Flutter application for Web, Windows, and Android (in development).express
- Contains the backend source code using TypeScript, Mongoose, and Express.js.
Postman API Documentation: TapTag Postman Collection
- ESP32 Development Board
- RFID RC522 Module
- RFID Cards/Tags
- 5V Power Supply
- Wires & PCB (Optional)
- Arduino IDE (with ESP32 board support)
- Flutter SDK (for app development)
- Node.js & npm (for backend development)
- MongoDB (for data storage)
- Postman (for API testing)
Here is the wiring sequence for the RFID RC522 sensor (including IRQ, though it's not typically used in SPI mode):
RFID RC522 Pin | ESP32 Pin |
---|---|
SDA (SS) | 5 |
SCK | 18 |
MOSI | 23 |
MISO | 19 |
IRQ | (Not connected) |
GND | GND |
RST | 22 |
3.3V | 3.3V |
- Install Arduino IDE and add ESP32 board support.
- Install the required libraries listed above.
- Upload the ESP32 firmware from the
arduino
folder using Arduino IDE. - Connect ESP32 to Wi-Fi or run in Hotspot Mode.
- Navigate to the
express
folder:cd express
- Install dependencies:
npm install
- Set up your
.env
file with MongoDB URI and other configs. - Start the server:
npm run dev
- Navigate to the
flutter
folder:cd flutter
- Install dependencies:
flutter pub get
- Run the app:
flutter run
Feel free to fork this repository, improve it, and submit pull requests.
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). Commercial use is prohibited, and all modifications must remain open-source.
For questions, reach out at dev.smq@gmail.com