Skip to content
This repository has been archived by the owner on Nov 26, 2020. It is now read-only.
/ OneShoot Public archive

For analyzing a photo we took for getting the information of it

License

Notifications You must be signed in to change notification settings

SmashKs/OneShoot

Repository files navigation

OneShoot

CircleCI Maintainability codecov Codacy Badge codebeat badge API

OneShoot

This is an application for analyzing a picture you took or are selected from the photo. If you give app a scenic photo then app might give you the information of the place name, the similar place photo, ... etc. In the near future, we'll add more function for anaylzing the picture.

🛑 Deprecated

If you did contribute on this project, I really apprecaited it a lot. Unfortunally, this project's architecture andlibraries have been old. Don't have so much time to maintain this project so we decided to archive this project.

This project's idea is still going on my plan. Near future may have another idea android project with the morden architecture.

Show Case

Architecture

We're using Clean Architecture to build this App. There're few layers as well-known Presentation, Domain, Data layer. Also, I add an extra universal module ext for making extension library in Kotlin.

Presentation

As long as you know Clean Architecture, this layer is responsible in showing the data from the Data layer and handle thread to UI thread for changing the UI state and here is including Android SDK.

We're using the coroutine not RxJava here because the coroutines are lighter than thread,

Domain

Here's totally pure Kotlin library without Android SDK.

Data

We're still using Retrofit2 + RxJava here. This layer is including the Android SDK in order to using the database and Firebase service.

Whole Architecture

Used libraries

  • Coroutine
  • Anko
  • RxKotlin
  • Retrofit 2
  • Gson
  • Live Data
  • Firebase
  • DBFlow
  • Kodein
  • Glide

We'll focus on using Android Architecture Component, near future they will be added one by one.

License

Copyright (C) 2018 SmashKs

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.