Albums App is an Android Project with Modular Architecture and Clean Architecture.
- it contain 3 layers for common components (core – data – presentation) and library module
The app is composed of 2 screens, first is the profile screen, it has the user name and address pinned at the top and then it lists all of this user’s albums. You can get user albums by requesting the albums endpoint and passing user id as a parameter. When you press on any album it navigates to the second screen which is an album details screen. You request the photos endpoint and pass album id as a parameter, then list the images in an instagram-like grid. Also there should be a search bar that you can filter within the album by the image title, when you start typing the screen should show only images that are related to this search query.
Api End Point https://jsonplaceholder.typicode.com
- Android JetPack
- Retrofit 2
- Hilt dagger
- jetpack Compose
- Navigation Compose
why Modular Architecture ?
- The Project is Clean , Testable , Maintainable and changable
- High quality App with high cohesion and low coupling
- Build Time
- Development Can be Divided
- Readable Programs
- Programming Errors are Easy to Detect
- Allows Re-Use of Codes
- Improves Manageability
PRs are welcome, let’s make this library better. ?
please ⭐ if you like the idea!
Check my last lecture about Clean architecture and Clean Code Lecture
Apache License, Version 2.0
click to reveal License
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.