GithubHelp home page GithubHelp logo

mtg-card-scanner's People

Contributors

awarnes avatar

Watchers

 avatar

mtg-card-scanner's Issues

Add the Card List

add_card_list

Once a card is scanned it should be added to the card list on the right hand side of the main window. This list should include a list of CardListItems each with a set of data clearly available. On the bottom of the CardList a section should be expandable that shows the CardDetails for any selected or moused over card (figure out how to handle both?).

Add Video Feed

add_video_feed

Add the space for the video feed in the new window. We should be able to import a pre-recorded video (especially for testing), as well as access any cameras attached to the computer. Choose just the first attached camera at this point, as camera selection options will be added in the video settings feature work.

Create follow up issues for new features

add_new_features

There are plenty of additional features that should be added to the project in order to be as useful as possible. Some of these features may already be complete by the time we finish with the base product. Create any issues necessary to track these additional features as well as any of the new ones added below here or in comments to improve the project.

Original Features:

  • Package Windows App
  • Package Mac App
  • Package Linux App(?)
  • Interactivity on Video
    • Ability to select different areas of the feed to search
  • Background pattern recognition
    • to help with card recognition create a series of patterns that will distinguish between the card and the background
  • Search box + add to list through text
  • Hot keys for all actions
  • CardList Drag and Drop ordering
  • Visual Layout Groupings
    • new screen with cards on a movable canvas
  • Auto search and download any new card lists
  • Expand full image recognition
  • Handle quantity properly

Setup environment

Setup the start of the environment for the mtg-card-scanner project. Include virtual env and freeze requirements.txt, add setup script to install necessary dependencies when on a new machine.

Connect OCR library to application

The simplistic OCR library that we already have access to should be used in the application to start reading information off of cards. This is the real meat of the mtg-card-scanner and should allow users to scan a card/image and put that into their list of cards for export.

Add video feed settings

add_capture_feed_settings

Add the video feed settings section to the main window. This should allow for fine tuning of the OCR capture and any additional settings that should happen during capture.

Add Menus

add_menus

Add the menu bar and menus for the base window. These should include the options in the picture, reproduced here, even if they don't do anything yet. Create any new issues to complete the work for updating the menu functionality if it isn't already completed.

File menu:

  • Open Movie
  • Check for DB Updates
  • Export Collection
  • Quit

Edit Menu:

  • Change Camera
  • Advanced Settings

Create List database and store

In order to store the data about the cards we scan we need to have a data schema that can store the information and make it easily updatable and exportable. A simple schema and database would be preferred without any external additional requirements (internet connection etc.). Preferably it would also allow for the storage and update of any of the inventory lists from places such as MTGJSON.com.

Initial review suggests using an SQLite3 database to store all list, card, and setting information as it should be fairly light weight and portable. We'll still need to create a schema for card data when used externally to the database, but may be able to pull on the sqlite3 forms that have been created at mtgjson.com for storing all card data at this point.

Create Change Printings Views

add_printings

In addition to getting the names of the cards it will be useful to be able to update the specific printing for each card in the sets. This should be an extended window that comes from the CardListItem/CardDetails screen and allows for updating the set printing of the card and any associated information there of (price, name, image, date released, etc.)

Create Base Window

base_window

Create the base window of the application and allow for addition of new features. This should be set up in a relatively modular fashion so that it is easy to update parts of the window with affecting the whole.

In the future we'll look into adding app wide styling that will sit at this base window level, but that isn't on the list yet.

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.