/pricetag

OOP Project for University

Primary LanguageJava


Pricetag logo
Amazon price tracker

Some FactsHow to useDownloadDocumentationLicense

Some Facts

Pricetag is an University project. Actually, We chose to make this because we didn't like the proposed one by the Professor so we came up with this challenging idea. Basically, the program works like CamelCamelCamel but the core part here is that all the prices are tracked by clients. That means when you search a product, firstly, pricetag will check if any of the connected client has already a more updated price timeline, if so all the data is sent to requester. Secondly it will make a request to lookup the product in Amazon. The project is made with Java for client side and Nodejs as a server side, to trace all clients and to make a peer-to-peer communication through sockets. Everything is possibile thanks to

AWS product api logo

How to use

Download and run it! Run java -jar downloaded.jar databasefile where databasefile is a file where pricetag will use as database to store products.

Actually you can omit the database file, that means everything will be stored in the memory and once you close the program all data will be erased: java -jar downloaded.jar

Note: if you are under Java 9, it may have problems. If so try to run: java --add-modules java.xml.bind -jar downloaded.jar databasefile

From Scratch

If you want to build your own version from scratch:

Server

  • Make sure to get npm
  • Go to /server directory
  • Run npm install
  • Run npm run build

Client

  • Make sure to get Maven
  • Go to /client directory
  • Run mvn package
  • Run java -jar target/app-1.0-SNAPSHOT.jar

Download

Get directly the Jar from here: PriceTag

Documentation

Yes, we are professional. Here is the doc: https://guertz.github.io/pricetag/

License

The MIT License

Copyright (c) 2018 Singh Amarjot, Matteo Guerzoni

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.