Giter Club home page Giter Club logo

stock-checker's Introduction

stock-checker

Stock Checker is a console based program made in Kotlin JVM to grab product's information from HTML on supported websites. It can detect the product's name, price, stock and local shop availability.

Currently supported websites

  • PCDIGA.com
  • Pichau.com.br

Visuals

Preview Stock Preview Not in Stock

Installation

Stock Checker uses Kotlin JVM and Gradle to manage dependencies and building.

Requirements

  • Koltin 1.4.10 or newer
  • Java 1.8 or newer
  • Git

Building

git clone https://github.com/chicoferreira/stock-checker/
cd stock-checker
./gradlew assembleDisp

You can find the built distributions in build/distributions in .zip and .tar formats.

Roadmap

You can find the roadmap in the Projects section or clicking here.

License

The project is licensed under MIT license. Find more about it here.

stock-checker's People

Contributors

chicoferreira avatar tommyalmeida avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

stock-checker's Issues

Product Notification Requirements

Adding requirements for playing the notification sound such as: PRICE_LOWER_THAN <value>, IN_STOCK, IN_DISCOUNT, etc.
Those requirements should be added through user prompted commands.

Saving program state

Save program state so you don't need to re-add every product on start.
This might be done with a .properties or a .xml file.

Property based stock check result

Instead of having already set parameters in StockCheckResult.kt, such as productName, price, availability make so it can accept multiple ProductProperty<Type> objects. That object will hold the property name (eg.: price), its value (100.0EUR), and the way it prints it ("GREEN ${price}").

Make a README

Add a welcoming page to this project and making it public.

Unit Testing

Implement unit testing to the majority of features.

Delay based on websites

Instead of having 5000ms constant delay on connecting to every website, website parser implementations should be able to change it in order to prevent rate-limiting to some websites.

Notification System

Make a notification system so that when the product becomes available it sends a notification.
Notifications can be sent through Discord, Email, Sound, Windows Notification, etc.

GUI App

Make it possible to run on a gui console app. It should be possible to put it on system tray as well.

Multiple links

Accept multiple product links so it could display more than one product at the console. You could add more links through a command add <link>, remove them with remove <index>, and list them with list.
This would also remove the necessity of inserting a link on the program startup and instead display a message saying that he can add or remove products through those commands.

Command Manager

Add command manager to accept other console commands like add <link>, remove <link>, setdelay <delay>.

Website search

Be able to grab products from websites searching URLs.

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.