Quickstart
Get started with Greenhouse Admin in minutes. This guide will help you run the admin portal on your preferred platform.Greenhouse Admin is a Web-first application. We recommend starting with the Web platform for the fastest setup experience.
Prerequisites
Before you begin, ensure you have the following installed:- JDK 11 or higher - Required for Gradle and Kotlin compilation
- Git - To clone the repository
- IDE - IntelliJ IDEA or Android Studio (recommended)
Running the web application
Configure API endpoint
Create a
local.properties file in the project root:The API base URL should include the
/api/v1/ suffix. This will be injected into the BuildKonfig configuration at compile time.Run the development server
For WebAssembly (recommended for modern browsers):For JavaScript (legacy browser support):
On Windows, use
gradlew.bat instead of ./gradlewRunning on other platforms
- Android
- iOS
- Desktop
Build and run the Android application:Or use the run configuration in Android Studio’s toolbar.Requirements:
- Android SDK with API 24+ (Android 7.0)
- Android device or emulator
Project structure
Understand the codebase organization:The
commonMain source set contains 90%+ of the application code. Platform-specific folders only contain platform initialization and native API calls.Development workflow
Hot reload
Greenhouse Admin includes Compose Hot Reload for rapid iteration:Dependency injection
Use Koin to inject ViewModels in your Composables:Making API calls
ViewModels use repositories for data operations:Updating dependencies
Next steps
Installation guide
Complete installation instructions for all platforms
Architecture
Deep dive into MVVM architecture and design patterns
API reference
Explore repository interfaces and data models
Development guide
Set up your development environment
Troubleshooting
Build fails with “JAVA_HOME not set”
Set your Java home environment variable:Web application doesn’t start
Ensure you’re using a modern browser that supports WebAssembly:- Chrome 119+
- Firefox 120+
- Safari 17+
- Edge 119+
API requests fail
Verify yourlocal.properties file contains the correct API_BASE_URL and includes the /api/v1/ suffix.
For more detailed troubleshooting, check the GitHub Issues page.