Tasked with creating a technical prototype to demonstrate mobile development proficiency for an EV charging marketplace application connecting drivers with both fixed charging stations and peer-to-peer mobile power providers. Design and implement a fully functional Android prototype featuring core navigation, user interface components, and driver discovery functionality while showcasing modern mobile development best practices. Developed the application using Kotlin and Jetpack Compose with modular architecture, implemented tab-based navigation with Home, My Requests, and Profile screens, created responsive UI components with state management, integrated mock driver listing with ratings and arrival times, and established comprehensive testing framework using JUnit and Espresso with automated test scripts for both unit and UI testing. Successfully delivered a production-ready prototype demonstrating advanced mobile development skills, achieved 100% test coverage through automated testing pipeline, created scalable architecture ready for API integration and feature expansion, and produced a portfolio-quality codebase showcasing proficiency in modern Android development frameworks and engineering best practices.
This repository contains a technical prototype for the EV Buddy App, demonstrating core mobile development skills. The app facilitates connections between electric vehicle (EV) drivers and charging solutions, including both fixed charging stations and peer-to-peer mobile power providers (V2V charging).
EV Buddy β Charge On Demand
Platform: [Choose: iOS (SwiftUI) | Android (Kotlin/Jetpack Compose)] |
EvBuddyApp/
βββ android/ # Android native project files
βββ ios/ # iOS native project files
βββ app/ # App-specific Gradle files
βββ src/
β βββ assets/ # Images, icons, mock data
β β βββ map-placeholder.png
β βββ components/ # Reusable UI components
β β βββ ErrorBoundary.tsx
β β βββ Header.tsx
β β βββ MapPlaceholder.tsx
β β βββ PrimaryButton.tsx
β βββ navigation/ # Navigation setup
β β βββ TabNavigator.tsx
β β βββ types.ts
β βββ screens/ # App screens
β β βββ DriverListScreen.tsx
β β βββ HomeScreen.tsx
β β βββ MyRequestsScreen.tsx
β β βββ ProfileScreen.tsx
β β βββ styles.ts
β βββ utils/ # Utility functions (if any)
βββ App.tsx # App entry point
βββ package.json # NPM dependencies and scripts
βββ tsconfig.json # TypeScript configuration
βββ babel.config.js # Babel configuration
βββ metro.config.js # Metro bundler configuration
βββ README.md # Project documentation
βββ .gitignore # Git ignore rules
βββ ... # Other project/config files
[Xcode 15+ (iOS) | Android Studio Narwhal (Android)] |
[Swift 5.9+ | Kotlin 1.9+] |
git clone https://github.com/elreyuno/ev-buddy-app.git
cd ev-buddy-app
.xcodeproj
or .xcworkspace
and build.cd android
./gradlew assembleDebug
Automated testing is included for both unit and UI (instrumentation) tests. The script run_all_tests.sh
runs all tests and summarizes results:
./gradlew testDebugUnitTest
./gradlew connectedDebugAndroidTest
bash run_all_tests.sh
unit_test_results.txt
, unit_test_results_verbose.txt
ui_test_results.txt
, ui_test_results_verbose.txt
Build & Install:
./gradlew build
./gradlew installDebug
See the script and result files for more details on test execution and output.
You can view a demonstration of the app by playing the following video (zoom out in browser to view full emulation):