Skip to content

gitaufar/save-space

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± Save Space - Employee Mood Management

Aplikasi manajemen mood karyawan berbasis React Native untuk membantu HR dan Manager memantau kesejahteraan mental tim melalui mood tracking, AI insights, dan Copenhagen Burnout Inventory (CBI) test.

✨ Fitur Utama

  • 🎯 Mood Tracking: Karyawan dapat mencatat mood harian
  • πŸ€– AI Insights: Evaluasi otomatis dengan Gemini AI untuk manager
  • πŸ“Š Dashboard Analytics: Visualisasi mood distribution tim
  • πŸ”₯ CBI Test: Tes burnout Copenhagen untuk evaluasi mental health
  • πŸ‘₯ Multi-role: Support untuk Manager dan Karyawan
  • πŸ“± Real-time: Update mood dan evaluasi secara real-time

πŸš€ Quick Start

πŸ“‹ Dokumentasi Instalasi

⚑ Quick Installation

# Clone repository
git clone https://github.com/gitaufar/cipta-ruang.git
cd cipta-ruang

# Install dependencies
npm install

# Setup environment variables
cp .env.example .env
# Edit .env dengan konfigurasi Anda

# Verifikasi environment
npx react-native doctor

# Run aplikasi
npx react-native start
npx react-native run-android

πŸ› οΈ Tech Stack

  • React Native 0.81.x
  • TypeScript - Type safety
  • Supabase - Backend & Database
  • Gemini AI - AI-powered insights
  • React Navigation - Navigation system
  • NativeWind - Tailwind CSS for React Native
  • Lucide React Native - Icon system

πŸ“± Screenshots

[Coming Soon - Tambahkan screenshot aplikasi]

πŸ”§ Development

Prerequisites

  • Node.js 18.x+
  • React Native CLI
  • Android Studio (untuk Android)
  • Xcode (untuk iOS - macOS only)

Environment Setup

Buat file .env di root project:

SUPABASE_URL=your-supabase-url
SUPABASE_ANON_KEY=your-supabase-anon-key
GEMINI_API_KEY=your-gemini-api-key

### Development Commands

```bash
# Start Metro bundler
npm start

# Run on Android
npm run android

# Run on iOS (macOS only)
npm run ios

# Build debug APK
cd android && ./gradlew assembleDebug

# Build release APK
cd android && ./gradlew assembleRelease

# Clean build
cd android && ./gradlew clean

# Reset Metro cache
npm start -- --reset-cache

πŸ—οΈ Project Structure

src/
β”œβ”€β”€ core/                 # Core utilities & constants
β”œβ”€β”€ data/                 # Data layer (repositories, datasources)
β”œβ”€β”€ domain/               # Business logic (entities, usecases)
└── presentation/         # UI layer (screens, components, contexts)
    β”œβ”€β”€ components/       # Reusable UI components
    β”œβ”€β”€ contexts/         # React contexts
    β”œβ”€β”€ navigation/       # Navigation setup
    └── screens/          # Screen components

πŸ§ͺ Testing

# Run unit tests
npm test

# Run tests with coverage
npm run test:coverage

# Run tests in watch mode
npm run test:watch

πŸ“¦ Build & Deploy

Debug Build

npx react-native build-android
# APK: android/app/build/outputs/apk/debug/app-debug.apk

Production Build

# Generate signing key (first time only)
cd android/app
keytool -genkeypair -v -storetype PKCS12 -keystore cipta-ruang-key.keystore -alias cipta-ruang -keyalg RSA -keysize 2048 -validity 10000

# Build release APK
cd android && ./gradlew assembleRelease
# APK: android/app/build/outputs/apk/release/app-release.apk

# Build AAB for Play Store
cd android && ./gradlew bundleRelease
# AAB: android/app/build/outputs/bundle/release/app-release.aab

πŸ› Troubleshooting

Common Issues

# Metro bundler issues
npm start -- --reset-cache
rm -rf node_modules && npm install

# Android build issues
cd android && ./gradlew clean && ./gradlew assembleDebug

# Environment issues
npx react-native doctor

Untuk troubleshooting lebih detail, lihat Panduan Instalasi.

πŸ“„ API Documentation

Mood Prediction

  • POST /predict_mood - Submit text and get mood data response

🀝 Contributing

  1. Fork repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

πŸ“ž Support

πŸ“„ License

MIT License - lihat file LICENSE untuk detail lengkap.


Dibuat dengan ❀️ untuk membantu HR dan Manager mengelola kesejahteraan mental karyawan

Step 3: Modify your app

Now that you have successfully run the app, let's make changes!

Open App.tsx in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes β€”Β this is powered by Fast Refresh.

When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:

  • Android: Press the R key twice or select "Reload" from the Dev Menu, accessed via Ctrl + M (Windows/Linux) or Cmd ⌘ + M (macOS).
  • iOS: Press R in iOS Simulator.

Congratulations! πŸŽ‰

You've successfully run and modified your React Native App. πŸ₯³

Now what?

  • If you want to add this new React Native code to an existing application, check out the Integration guide.
  • If you're curious to learn more about React Native, check out the docs.

Troubleshooting

If you're having issues getting the above steps to work, see the Troubleshooting page.

Learn More

To learn more about React Native, take a look at the following resources:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages