Smart Gate Monitoring & Scheduling System
GateKeeper IoT is a web-based IoT system designed to monitor, control, and schedule gate operations using an ESP32 microcontroller.
The system is intended for local or private deployment, suitable for residential, campus, or industrial gate automation.
It combines:
- Web dashboard for monitoring & scheduling
- Backend API for authorization, logging, and automation
- ESP32 hardware for real-time gate control
- Open / close gate remotely
- Gate open–close scheduling
- Real-time gate status monitoring
- Access history logging (timestamp & status)
- Unauthorized access detection (forced opening / RFID)
- Email alert notifications
- ESP32 integration with ultrasonic sensor & camera
Explanation:
- Admin manages access rights, maintenance, and activity history.
- User can open/close the gate and view access logs.
- Website acts as a control panel and data visualizer.
- IoT System (ESP32) sends and receives gate status data.
Explanation:
- ESP32 measures distance using an ultrasonic sensor every second.
- If distance ≤ 30 cm:
- ESP32 captures an image using ESP32-CAM.
- Distance data and image are sent to the backend via Wi-Fi.
- Backend performs authorization verification (face / plate / schedule).
- If authorized:
- Gate motor is activated.
- Activity is logged to the database.
- If unauthorized:
- Access is denied.
- Alert is sent to admin/user.
- Frontend retrieves and displays gate status and access history.
The complete Software Requirements Specification (SRS) document is included in this repository:
- 📂 Location:
assets/SRS_gate_1.0.pdf - 🗣 Language: Indonesian
- 📘 Contents:
- System scope
- Functional & non-functional requirements
- Hardware & software specifications
- Use cases and system flow
- JavaScript / JSX
- React
- Tailwind CSS
- Axios
- Node.js
- Express.js
- Sequelize ORM
- PostgreSQL
- MQTT
- bcryptjs
- ESP32 Gen 1
- Ultrasonic Sensor (HC-SR04)
- DC Motor + Motor Driver
| Component | Environment |
|---|---|
| Frontend | Vercel |
| Backend | VPS (Public IP required) |
| Database | Docker Compose |
| Hardware | ESP32 |
For public deployment, only the frontend is deployed to Vercel.
Backend API runs on a VPS and is referenced viavercel.json.
git clone https://github.com/satellacodes/GATE.git
cd GATE- Copy .env.example → .env for:
- frontend/
- backend/
cd backend
docker compose up -dThis will:
- Start backend service
- Initialize PostgreSQL
- Create database schema automatically
- Credential user is : admin , pass : admin123
cd frontend
npm install
npm run dev- JWT-based authentication
- Password hashing with bcrypt
- Recommended HTTPS for production
- Secure MQTT configuration advised


