Skip to content

Project Finder: Wise way to track your favourite Github repositories

License

Notifications You must be signed in to change notification settings

AttilaAKINCI/ProjectFinder

Repository files navigation

ProjectFinder

Android compose application to list github repositories.

If you find my repository helpful, you can buy me a coffee to see more PoC samples 🍻☕️

APK Link (https://drive.google.com/file/d/1W5m6pmpNHGaedO2KpYEQ8LFf8WPw-ZDG/view?usp=sharing)

Wireframe:

wireframe

How to run

In order to run project in your local be aware below points ->

  • Developed by Android Studio Hedgehog | 2023.1.1 RC 3 Build #AI-231.9392.1.2311.11047128, built on November 3, 2023
  • checkout master branch
  • add SERVICE_ENDPOINT_BASE_URL=https://api.github.com to your local.properties file.

App Video

Validation Error        No Data          Service Error     Remember Favorite      Normal Run       

3rd party lib. usages & Tech Specs

UI Flow

1- App starts with custom splash screen then, user is navigated to project list screen

2- In project list screen, user can enter usernames to "Repository Owner" input field and search corresponding user repositories.

3- Repositories are listed after shimmer loading animation

3- If repository liked before, it will be remembered and user can see like icon on project list.

4- Row clicks navigates user to project detail screen to show more details about it.

5- User can like/favorite repositories in project detail screen

ScreenShots

Light Mode:

Dark Mode:

License

The code is licensed as:

Copyright 2021 Attila Akıncı

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

   http://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.