“A simple name can be the beginning of a great story.”
AddingName is a learning project built with Kotlin, showcasing a clean MVVM approach and modern Jetpack components (with a Compose-first mindset). The app focuses on a minimal flow: add names → observe state → render a friendly list UI.
It’s intentionally small, readable, and perfect for practicing modern Android patterns.
- Clone:
git clone https://github.com/AliBasboga/AddingName.git - Issues & Ideas: Open an issue
- Pull Requests: Welcome! See Contributing
- MVVM fundamentals: ViewModel as the single source of truth for UI state.
- Reactive UI state: simple, predictable state updates (ideal for Compose).
- Separation of concerns: UI ↔ ViewModel ↔ (future) Data layer.
- Starter patterns you can grow into Navigation, DI, and persistence.
- Language: Kotlin
- Architecture: MVVM
- UI Layer: Jetpack (Compose-ready structure)
- Build: Gradle (KTS)
- Minimum Tooling: Android Studio (Hedgehog or newer recommended), JDK 17
Note: The project is kept intentionally lightweight so you can extend it with your favorite libraries (Room, Hilt, Navigation, Coroutines/Flow, etc.).
- Clone the repo
git clone https://github.com/AliBasboga/AddingName.git cd AddingName
Open in Android Studio
Use Android Studio Hedgehog or newer
Ensure JDK 17 is set (Project Structure → SDK)
Run the app
Select an emulator or device
Click Run
(Optional) Build via CLI
bash Kopyala Düzenle ./gradlew :app:assembleDebug
./gradlew :app:installDebug 🧩 Core Flow User enters a name in the input field.
ViewModel validates & updates the UI state (e.g., a list of names).
UI observes the state and renders the updated list instantly.
This mirrors real-world patterns you’ll reuse in larger apps. md Kopyala Düzenle Tip: Record a short GIF (10–15s) that shows typing a name and seeing it appear in the list.
🔮 Roadmap Introduce Navigation (multi-screen)
Add Room for local persistence
Wire Hilt for dependency injection
Replace placeholders with Coroutines + StateFlow
Add UI tests (Compose testing) & unit tests
Polish animations and theming
🤝 Contributing Contributions are welcome!
Fork the repo
Create a branch: feature/your-idea
Commit changes: git commit -m "Add: your idea"
Open a Pull Request with a clear description & screenshots if UI changes
🧾 License If you plan to reuse or publish this app, please add a license file (e.g., MIT, Apache-2.0) at the root: ./LICENSE.
💬 Final Note Designed to be small, clear, and expandable—so you can focus on learning good patterns without the noise.
“Code is a language; what you write tells your story.”