MechTek: A React Native & Firebase mobile app for industrial fault reporting and management. Built for Course I3691CP at the University of Namibia. 🇳🇦🛠️
# MechTek – Machine Fault Reporting System
MechTek is a mobile app for reporting and tracking equipment faults in industrial environments. Field workers submit fault reports with photos, supervisors assign technicians, and technicians update repair progress — all synced in real time.
**Fault lifecycle:** `Reported → Repairing → Fixed`
**User roles:** Worker · Technician · Supervisor
---
## Prerequisites
- Node.js v18+
- Expo Go on your Android device **or** Android Studio (emulator)
- Android 10.0 (API Level 29) minimum
---
## Installation
```bash
git clone
github.com
cd MechTek
npm install
```
### Firebase Setup
1. Create a project at Firebase Console
2. Enable **Authentication** (Email/Password), **Firestore**, and **Storage**
3. Add your config to `firebase/firebaseConfig.js`:
```js
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_AUTH_DOMAIN",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_STORAGE_BUCKET",
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
appId: "YOUR_APP_ID"
};
```
---
## Running the App
```bash
npx expo start
```
- **Physical device** – scan the QR code with Expo Go
- **Emulator** – press `a` in the terminal to open on Android emulator
---
## Build APK
```bash
npm install -g eas-cli
eas login
eas build -p android --profile preview
```
---
## Tech Stack
| | |
|---|---|
| Framework | React Native + Expo |
| Authentication | Firebase Auth |
| Database | Cloud Firestore |
| Media Storage | Firebase Storage |
| Offline Support | AsyncStorage |
| Navigation | React Navigation |