A comprehensive IoT monitoring and management system with Python backend and React Native frontend.
- backend/ - Python backend service (MQTT broker, Firebase integration)
- frontend/ - React Native mobile app (Expo)
- firmware/ - Device firmware code
-
Navigate to the backend folder:
cd backend -
Create and activate the virtual environment:
# Create venv (if not already created) python -m venv .venv # Activate venv .venv\Scripts\activate # Windows # or source .venv/bin/activate # macOS/Linux
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables:
- Copy
.env.exampleto.env - Update the
.envfile with your configuration
- Copy
-
Run the backend:
python app.py
- Navigate to the web folder:
cd web - Install dependencies:
npm install
- Configure environment:
- Add your Firebase config to
.envin the root directory.
- Add your Firebase config to
- Seed the database:
This populates Firestore with nodes and test accounts.
npm run seed
- Start the app:
npm run dev
-
Navigate to the frontend folder:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Run on specific platform:
npm run android # Android npm run ios # iOS npm run web # Web
- paho-mqtt >= 2.0.0
- firebase-admin >= 6.2.0
- python-dotenv >= 1.0.0
- React Native 0.81.5
- Expo 54.0
- Firebase 12.12.1
- React Navigation 7.x
- Chart Kit for visualizations
- Python 3.8+ (for backend)
- Node.js 18+ (for frontend)
- npm or yarn
- Clone the repository
- Follow the Backend Setup and Frontend Setup sections above
- Configure your environment variables in
.env - Start both services in separate terminals