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.inofile 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
arduinofolder using Arduino IDE. - Connect ESP32 to Wi-Fi or run in Hotspot Mode.
- Navigate to the
expressfolder:cd express - Install dependencies:
npm install
- Set up your
.envfile with MongoDB URI and other configs. - Start the server:
npm run dev
- Navigate to the
flutterfolder: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 [email protected]