Android Assignment
π
Description
This assignment gives you basically a post list and its detail with comments.
π±
Features
- Users can see random post list.
- Users can see the comments of the post.
πΈ
Screenshots
Splash Screen | Post List Screen | Post Detail Screen |
---|---|---|
Error Screen | Missing Data Screen | |
π
What the project uses ?
- Architecture Components
- Android X
- Android KTX
- Dagger Hilt
- Retrofit2
- OkHttp3
- Kotlin Coroutines
- Kotlin Flow
- ViewBinding
- Navigation Component
- Moshi
- Coil
- ktlint
- MockK
- Truth
π
Package Structure
com.okanaydin.assignment # root package
.
|
βββ data
β ββ remote # api calls
β βββ models # response model
β βββ remote data source # data source
|
βββ features
β βββ core # resource handling
β
β βββ feature1 # post list
β βββ di # dependency Injection
β βββ repository # repository
β βββ ui # fragments, viewModel, viewState, adapters
β βββ usecase # use case
.
βοΈ
GitHub Projects
I have created issues for the defined requirements such as features, improvements, and bugs to assign myself and track those issues on the board. Basically, there are three columns which are In-Progress, To-Do, and Done.
πββοΈ
GitHub Action
I have implemented GitHub Action for this project and when you create a new pull request it goes to build the project automatically if there is a problem in your build time you can easily see the issue.
License
Copyright 2021 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.