⚡Powerly EV charging app — manage chargers, enable peer-to-peer sharing, integrate payments, and launch your smart energy services, all powered by the Powerly platform.
- 🌐 About Powerly & Vision
- ✨ Features
- 📷 Screenshots
- 🏗 Architecture & Tech Stack
- 🚀 Getting Started
- 🙌 Contributing
- 📄 License
- 🔗 Acknowledgments & Links
Powerly is an open-source EV charging platform designed to make electric mobility accessible, scalable, and customizable.
This Android app is part of that ecosystem, allowing businesses, fleet operators, municipalities, and individuals to launch branded EV charging apps in minutes.
🔌 Supports open protocols like OCPP and OCPI, ensuring seamless charger compatibility, roaming, and backend integrations.
🌍 Features include AI site planning, fleet tools, real-time analytics, and P2P charging (share your private charger with others).
📖 Read more: Powerly Open Source
- ⚡ White-label EV charging app template
- 🗺️ Charger discovery with filtering by connector type and availability
- 📡 Real-time session control & monitoring
- 📅 Booking and scheduling charging sessions
- 📊 Usage history, cost breakdown & billing
- 🤝 Peer-to-peer charging support for private chargers
- 🌐 Roaming & cross-network integration
- 🔌 OCPP & OCPI protocol support
- 🔑 Integration-ready with Powerly API
| Map View | Charging Session | Feedback Screen |
|---|---|---|
![]() |
![]() |
![]() |
Architecture: Clean Architecture with MVVM
Languages & Tools:
- Kotlin
- Jetpack Compose
- Retrofit / OkHttp
- Coroutines
- Room / Local persistence
- Koin for dependency injection
- Google Maps SDK
- Fastlane & GitHub Actions (CI/CD)
📚 For deeper insights, add docs/architecture.md and link it here.
Before building the project, make sure the following environment and configuration files are correctly set up:
The project includes two build flavors:
default– a build without Firebase.gms– includes Google services (Crashlytics, Analytics, Messaging).- ✅ Requires a Firebase project and a
google-services.jsonfile placed in theapp/directory.
- ✅ Requires a Firebase project and a
The app supports the following build variants:
debug– uses the test API environment.release– uses the production API environment with optimizations enabledpreRelease– a debuggable production variant
You must create two property files in the project root:
secrets.debug.properties– used fordebugbuildssecrets.production.properties– used forreleaseandpreReleasebuilds
Or use only secrets.default.properties
Each file must define the following keys:
PLACES_API_KEY=your_google_places_api_key # required for map functionality
STRIP_PUBLISHABLE_KEY=your_stripe_publishable_key # required for payments
API_BASE_URL=https://api.example.com # base URL for test or production
API_API_KEY=your_api_key # API key for test or production
PRIVACY_POLICY_URL=https://example.com/privacy # optional
TERMS_AND_CONDITIONS_URL=https://example.com/terms # optional
SUPPORT_NUMBER=" " # optionalIn addition to the usual sdk.dir, local.properties may define package name and signing information:
PACKAGE_NAME=com.powerly.open
# Optional for debug signing
DEBUG_STORE_FILE=/path/to/debug.keystore
DEBUG_STORE_PASSWORD=your_debug_store_password
DEBUG_KEY_ALIAS=your_debug_alias
DEBUG_KEY_PASSWORD=your_debug_key_password
# Optional for release signing
RELEASE_STORE_FILE=/path/to/release.keystore
RELEASE_STORE_PASSWORD=your_release_store_password
RELEASE_KEY_ALIAS=your_release_alias
RELEASE_KEY_PASSWORD=your_release_key_password- Clone the repository:
git clone https://github.com/powerly-ev/open-ev-charge-android-app.git
cd open-ev-charge-android-app- Add configuration files:
- Place
google-services.jsonin theapp/directory (forgmsflavor). - Add
secrets.debug.propertiesandsecrets.production.propertiesto the project root. - Fill
local.propertieswith package name and signing credentials (if required).
-
Sync Gradle in Android Studio to ensure dependencies and configurations are loaded.
-
Build the desired flavor and variant:
You can build any combination using Gradle tasks:
assembleDefaultDebug– default flavor with debug environmentassembleDefaultRelease– default flavor with production environmentassembleGmsDebug– GMS flavor (requires Firebase) with test environmentassembleGmsRelease– GMS flavor with production environmentassembleGmsPreRelease– GMS flavor with debuggable production build
Example:
./gradlew assembleDefaultDebug- Run the app on an emulator or device from Android Studio, or install the APK from
app/build/outputs/apk/.
✅ Tip: Use preRelease when you need production API behavior with debugging enabled — perfect for staging and QA.
We welcome contributions!
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature - Add your changes with tests
- Commit and push:
git commit -m "Add feature" - Open a Pull Request
Distributed under the Apache License 2.0.
See LICENSE for more information.
- 🌐 Website: https://www.powerly.app
- 📘 API Docs: https://api.powerly.app/docs/
- 📱 iOS App: https://github.com/powerly-ev/open-ev-charge-ios-app
- 🛠 Powerly Open Source: https://www.powerly.app/open-source/
🚀 Powering the future of electric mobility — with open source.



