A modern job marketplace and workforce management platform built with React Native and Expo, connecting job seekers with employers through shift scheduling, real-time messaging, rewards, and team management.
- Job Discovery — Browse and apply for job opportunities with detailed listings, pay rates, and availability status
- Shift Management — View scheduled shifts, track hours, request overtime, and swap shifts
- Performance Tracking — Monitor completed vs missed shifts with trend charts
- Rewards & Badges — Earn tokens by completing challenges and unlocking badges, redeem for premium features
- Profile & CV — Build a professional profile with experience, skills, and a CV preview
- In-App Messaging — Chat directly with employers and team members with real-time delivery status
- QR Code Check-in — Scan or generate QR codes for shift attendance
- Business Dashboard — Overview of employees, managers, shifts, and completion rates
- Team Management — Manage team members, roles, and permissions
- Job Posting — Create, edit, and manage job listings with filtering
- Schedule Management — Create weekly schedules, shift templates, and assign employees
- Subscription Plans — Free, Starter, Growth, and Pro tiers with Stripe integration
- Multi-language Support — English and Greek localization via i18next
- Push Notifications — Firebase Cloud Messaging for real-time alerts
- Authentication — Email, Google Sign-In, and Apple Sign-In
- Audio & Video Calls — Agora-powered calling for interviews and team communication
| Category | Technology |
|---|---|
| Framework | React Native 0.85 + Expo 56 |
| Navigation | Expo Router 56 |
| Styling | NativeWind (Tailwind CSS) |
| State Management | Zustand |
| Authentication | Firebase Auth + Google Sign-In + Apple Sign-In |
| Payments | Stripe React Native |
| Real-time | Socket.io Client |
| Push Notifications | Firebase Cloud Messaging |
| Localization | i18next + React i18next |
| Calls | Agora React Native |
| Language | TypeScript |
- macOS (required)
- Xcode (latest version from App Store)
- CocoaPods —
sudo gem install cocoapods
- Android Studio — Download
- Java Development Kit (JDK) 17
- Expo Go (iOS) or Google Play (Android)
git clone https://github.com/xyryc/Hiruu-App.git
cd Hiruu-Appnpm installCreate a .env file in the root directory:
EXPO_PUBLIC_API_URL=your_api_url
EXPO_PUBLIC_GEOAPIFY_API_KEY=your_geoapify_key
EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_key
EXPO_PUBLIC_GOOGLE_WEB_CLIENT_ID=your_google_client_idnpx expo startScan the QR code with Expo Go on your device, or press a for Android emulator / i for iOS simulator.
npx expo run:androidRequires Android Studio with a running emulator or a connected device with USB debugging enabled.
npx expo run:iosFirst time setup:
cd ios && pod install && cd ..npx expo prebuild --platform android
cd android && ./gradlew assembleDebugAPK output: android/app/build/outputs/apk/debug/app-debug.apk
git tag v1.x.x
git push origin v1.x.xFind the APK in your repository's Actions tab under Artifacts after the workflow completes.
Generate a keystore and configure android/gradle.properties:
MYAPP_UPLOAD_STORE_FILE=my-app-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-app-alias
MYAPP_UPLOAD_STORE_PASSWORD=your_password
MYAPP_UPLOAD_KEY_PASSWORD=your_passwordThen build:
cd android && ./gradlew assembleRelease| Command | Description |
|---|---|
npm start |
Start Expo development server |
npm run android |
Run on Android emulator/device |
npm run ios |
Run on iOS simulator/device |
npm run web |
Start web development server |
npm run lint |
Run ESLint |
npx expo prebuild --clean |
Regenerate native project files |
- Expo: ~56.0.4
- Node.js: v20.20.2
- Android SDK Build Tools: 37.0.0
- Android SDK Platform Tools: 37.0.0
- NDK: 27.1.12297006
Metro bundler issues:
npx expo prebuild --cleanModule not found errors:
rm -rf node_modules package-lock.json
npm installiOS build fails:
cd ios && rm -rf Pods Podfile.lock
rm -rf ~/Library/Developer/Xcode/DerivedData
pod installAndroid build fails:
cd android && ./gradlew cleanMd Talath Un Nabi — Lead App Developer — GitHub
For support, email mdtalathunnabi@gmail.com









