- This is a mobile application developed in React Native that makes use of IoT which allows users to remotely control their garage doors and also a delivery box when they are not home at the moment. With this app, users can open and close their garage doors, view the current status of the door (open or closed), and receive notifications when the door is opened or closed.
- It enables useres to monitor the usage of the delivery box and also receive notifications when it is left open for a certain period of time set by the user.
- React Native with Typescript
- ThingSpeak IoT Cloud Platform
- Firebase
- Authentication
- Firestore
- Expo Go
- Android Studio Emulator
- Figma
- Postman
- NodeMCU ESP8266 X 2
- SG90 Servo Motor X 2
- LED
- Breadboard
- 👩💻Users can
- Sign up / Login
- View the current status of the garage door and the delivery box
- open and close the garage door and the delivery box
- Receive notifications when the garage door or the delivery box is left open for a certain period of time set by the user
- Enable Auto-Close Mode for the garage door and the delivery box
- 👤 Admin can
- Allow/Deny access to the app for users
- Access all the functionalities of the app
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Clone down this repo.
git clone https://github.com/bedre7/smart-garage.git
- Install npm dependencies
npm install
- Run expo app
expo start
The Arduino code responsible for handling the garage door and delivery box is located in the /config-arduino directory. It uses the ESP8266 module to communicate with the ThingSpeak IoT platform.
To keep your Wi-Fi credentials and ThingSpeak API keys secure, the project uses a secrets.h file which is excluded from version control.
Create a new file at /config-arduino/secrets.h with the following structure:
#define SECRET_SSID "your_wifi_name"
#define SECRET_PASS "your_wifi_password"
#define SECRET_API_KEY1 "your_thingspeak_api_key_for_door"
#define SECRET_API_KEY2 "your_thingspeak_api_key_for_delivery_box"
#define SECRET_CHANNEL_ID1 1990559 // Your channel ID for door
#define SECRET_CHANNEL_ID2 1995872 // Your channel ID for delivery box











