A modern Android prototype of a social camera app built with Kotlin and Jetpack Compose.
Features a clean Material 3 UI, smooth navigation, previewable components, and an Appwrite-backed data layer.
- UI: Jetpack Compose + Material 3, dark/light themes, and previews
- Navigation: Navigation Compose + top bars
- Media: Image loading with Coil
- Architecture: MVVM architecture, Hilt for DI, Retrofit (stub) + OkHttp
- Backend: Appwrite SDK integration via type-safe
BuildConfigfields
| 📱 Screen Previews | ||
|---|---|---|
![]() Posts |
![]() Friend List |
![]() Post Detail |
![]() Profile |
![]() Camera |
![]() Submit Photo |
![]() Chat |
![]() Messages |
![]() Settings |
![]() Contact List |
![]() Add Caption |
|
![]() Logo |
![]() Splash Screen |
![]() Login Screen |
📌 Reference: See navigation routes in
app/src/main/java/com/example/nocket/Navigation.kt
components/ → Reusable UI: top bars, pills, lists, grids, etc.
ui/screen/ → Feature screens (post, message, profile, camera, submit photo)
data/ → SampleData for previews and demo
di/ → Hilt modules (e.g., AppwriteModule.kt)
repositories/ → Data sources (e.g., AppwriteRepository.kt)
viewmodels/ → State holders (e.g., AppwriteViewModel.kt)
constants/ → AppwriteConfig.kt bridges BuildConfig to the app
| Layer | Technology |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose + Material 3 |
| Navigation | Navigation Compose |
| DI | Hilt |
| Networking | Retrofit, OkHttp, Gson |
| Media | Coil |
| Backend | Appwrite Android SDK |
This project reads Appwrite settings from local.properties and exposes them as BuildConfig
fields.
Required Keys:
appwrite.version=1.6.0
appwrite.project.id=YOUR_PROJECT_ID
appwrite.project.name=YOUR_PROJECT_NAME
appwrite.endpoint=https://<your-endpoint>/v1How it works:
app/build.gradle.ktsloads these values and generatesBuildConfigconstants.AppwriteConfig.ktexposes them asAPPWRITE_*constants.di/AppwriteModule.ktconfigures the AppwriteClient,Account, andDatabases.
- Replace
SampleDatawith real Appwrite repositories - Add authentication flow & real-time updates
- Expand test coverage + UI tests













