Coder Social home page Coder Social logo

apptitude-qwickscan's Introduction

Apptitude-QwickScan

Submission for Apptitude 2020 by Team Behencode @BRO3886 @rithikjain


The Idea

The idea for this app was very simple. We go to supermarkets and nearby grocery stores even during this pandemic because getting suppies for home is absolutely essential.

A problem we found with the system here in India is that even though people sometimes follow social distancing, but in long queues, lack of pateince gets the best of us. Thus, we rarely see people following social distancing on cash counters.

So we came up with this app (..or you could say 2 apps).

We have 2 apps-

Qwickscan Client side, Qwickscan admin side

The client (or the person whos' grocery shopping) can add scan the items and quick add it to their cart. This cart is synced with our servers

Whenever they reach the billing counter, they can show a QR and the entire bill comes to the admin.

Now, the admin can verify the items or just process it ahead for payment.

In this way we reduce the queues and reduce paper waste generated by those long bills.

Thank You.

Features

Client Side

  • Login/Sign Up
  • Splash Screen (Hack Requirement)
  • Create Cart
  • Adding items to cart (via TfLite object detection)
  • Displaying QR code of Cart (every cart has unique ID)

Admin Side

  • Splash Screen (Hack Requirement)
  • Scan QR Code of Cart
  • Displaying items in scanned cart

We also thought about integrating payment options for checkout after confirmation from admin, but due to the limited time, we could not do.

Link to the Repos

Instructions to run

  • Pre-requisites:

    • Android Studio
    • Phyical Android device
    • Flutter
    • VS Code (recommended)
  • Directions to install

git clone https://github.com/BRO3886/qwickscan
  • < directions to execute >
cd qwickscan
flutter run

Resources

Design- Figma File

Drive Link for video and app

Challenges Faced

  • We were working for the first time with TFLite and real time object detection
  • Had to figure out the appropriate UI on top of camera feed
  • Laying out widgets on top of native views is difficult in Flutter.
  • Luckily we found a way to do that.
  • As a challenge, we tried implementing this with bloc. Considering the amount of boilerplate code needed for bloc, I feel great about how quikly I can implement it now.

Completion Status

Due to the time constraint, we could not complete the following:

  • Payment integration with UPI to enable cashless transaction
  • Implementing an inventory of items on the server
  • Deleting items from cart (shit!)

Learning and Key Takeaways

  • We can make a backend in Go
  • We can easily implement Bloc for state mangement
  • Bloc is prolly the best solution for state management in fluter
  • Flutter and TFlite is somewhat stable
  • The best way to go ahead with implemting ML is through MLKit (lol)
  • The app is performant, but bloated in size

Thanks a lot to ACM-VIT for giving us this opportunity!

apptitude-qwickscan's People

Contributors

bro3886 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

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.