Giter Site home page Giter Site logo

wavetechstudio / itemstracking Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 1.01 MB

Keeping track of items with details Title, Cost, Description, Location and Image of each item.

Java 100.00%
firebase-realtime-database mvp-architecture glide rximagepicker persistence-room mockito junit espresso android camera

itemstracking's Introduction

Items Tracking

An Android based Todo app for tracking items. You can add items with their Title, Cost, Location, Description and Image.

Prerequisites

Android SDK v24 Latest Android Build Tools Android Support Repository

Features

You can add data of each item

  • Item title
  • Item price
  • Item cost
  • Item location
  • Item picture (You can take picture from Camera or choose from Gallery)
  • Items can be synced with firebase cloud to save and access remotely
  • Item can be edit/delete/update

Architecture used

Dependencies used

// App's dependencies
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:cardviewv7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.'
implementation 'com.mlsdev.rximagepicker:library:2.0.2'
implementation 'com.github.bumptech.glide:glide:4.4.0'
implementation 'com.google.firebase:firebase-database:15.0.1'


implementation 'com.android.support.test.espresso:espresso-idling-resource:3.0.1'
implementation 'com.google.guava:guava:18.0'
implementation 'android.arch.persistence.room:runtime:1.0.0'
annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'

// Dependencies for local unit tests
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-all:1.10.19'
testImplementation 'org.hamcrest:hamcrest-all:1.3'

// Android Testing Support Library's runner and rules
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test:rules:1.0.1'
androidTestImplementation 'android.arch.persistence.room:testing:1.0.0'

// For unit tests
androidTestImplementation 'junit:junit:4.12'
androidTestImplementation 'org.mockito:mockito-core:1.10.19'
androidTestImplementation 'com.google.dexmaker:dexmaker:1.2'
androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'

// Espresso UI Testing
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-intents:3.0.1'
androidTestImplementation 'com.android.support.test.espresso.idling:idling-concurrent:3.0.1'
implementation 'com.android.support.test.espresso:espresso-idling-resource:3.0.1'

Libraries used

Glide

For Image loading

Rximagepicker

For Image picking from Camera/Gallery

Firebase Realtime Database (JSON Structured)

  {
     "items": [
         "-0f3b6efb-7689-4f2b-b6a0-e135b9a85fd8" : {
		 "id" : "123"
         "title" : "Buying Shoes",
         "cost" : "200"
		 "location" : "Gullberg III, Lahore, Pakistan"
		 "description" : "I am buying sports shoes from NIKE. "
		 "imagePath" : "...../shoesimage.png"
           }
	 ]
  }

Database local table

items Value
id 123
title Buying Shoes
cost 200$
location Gullberg III, Lahore, Pakistan
description I am buying sports shoes from NIKE.
imagePath ...../shoesimage.png

Firebase database rules

  These rules allows everyone to read & write data without authentication. Currently for testing purposes we have applied these so everyone can read and write.
{
   "rules": {
      ".read": true,
     ".write": true
    }
}

The below rules allow authenticated users only to read or write data.
 {
   "rules": {
       ".read": "auth != null",
      ".write": "auth != null"
 }
}

How to run a sample

  • Clone or download the project open it with Android Studio compile and run it will work.

Images


Author

Waheed Nazir

License

It is totally free to use. :)

itemstracking's People

Contributors

waheednazir avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

saadbaloch

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.