Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/npatta01/mindsumo-zapos-challenge
My submissions for mind sumo challenges
https://github.com/npatta01/mindsumo-zapos-challenge
Last synced: about 1 month ago
JSON representation
My submissions for mind sumo challenges
- Host: GitHub
- URL: https://github.com/npatta01/mindsumo-zapos-challenge
- Owner: npatta01
- License: unlicense
- Created: 2013-11-21T00:29:45.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2013-11-23T23:35:38.000Z (about 11 years ago)
- Last Synced: 2024-12-07T07:04:30.328Z (about 1 month ago)
- Language: Java
- Size: 15.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Zapos Challenge ##
========================My submissions for mind sumo challenges.
The goal was to create a Java application, where the user can enter a Zappos product id, and product name to be registered for when the product is on sale.### General ###
- The UI is created using JavaFx 2 (JDK 7)
- The backend notification [service](http://fakezapposnotificationservice.npatta01.cloudbees.net/) is written using the Play framework and is deployed on cloudbees
- Applications is composed of several maven modules
- Its best to download the release binary from github### Running the program
Please follow the build instructions if you would like to build the project, else download the release binary from github.
The main app is the jar file 'UI-1.0-SNAPSHOT-jfx.jar'### Screens in the UI ###
**Login Screen:**
Enter email. If you are an existing user, your subscription list will be shown, else you will automatically register as a new user
![](images/main_screen.png)**Search Results Screen:**
If product query, has multiple style the below window will be shown asking to select specific styles.
![](images/login_screen.png)
**Main Screen**
Click on subscribe, to update the subscription list
![](images/results.png)###Notification Service###
A backend service that I wrote to wrap around the ZapposApi. Users can ask the api for product information given a styleid, productid, product name. User’s can register/unregister to be notified for certain items .
The server is deployed [here](http://fakezapposnotificationservice.npatta01.cloudbees.net/)Every 12 hours, a job is fired to check the price of registered items.
Emails are send using SendGrid: from “[email protected] “Below are possible options to get info from the service
- Get info on product id 115328
[/api/Product?product_id=115328](http://fakezapposnotificationservice.npatta01.cloudbees.net/api/Product?product_id=115328)- Get info on product with name “classic tall black”
[/api/Product?product_name=classic%20tall%20black](http://fakezapposnotificationservice.npatta01.cloudbees.net/api/Product?product_name=classic%20tall%20black)- Get info on product with style id “1788226”
[/api/Product?style_id=1788226](http://fakezapposnotificationservice.npatta01.cloudbees.net/api/Product?style_id=1788226)- Unregister user “[email protected]”
[/api/User/[email protected]](http://fakezapposnotificationservice.npatta01.cloudbees.net/api/User/[email protected])- Register user
[/api/User/[email protected]](http://fakezapposnotificationservice.npatta01.cloudbees.net/api/User/[email protected])- Verify User with email [email protected] and verification code 9708a56b-9566-40c9-8e6a-604a3b24274f
[/api/User/[email protected]&verificationCode=9708a56b-9566-40c9-8e6a-604a3b24274f](http://fakezapposnotificationservice.npatta01.cloudbees.net/api/User/[email protected]&verificationCode=9708a56b-9566-40c9-8e6a-604a3b24274f)- Notify to be subscribed for email [email protected] and items [2123605,1788226\
Post a json request to /api/User/notify
With a body such as
{"emailAddress":"[email protected]", "products":[2123605, 1788226]}- Force Notification Job
To force a price check, submit a post request to[http://fakezapposnotificationservice.npatta01.cloudbees.net/startJob](http://fakezapposnotificationservice.npatta01.cloudbees.net/startJob)
### Building###
- Requires JavaFx/JDK7 to be installed and in the path
- Requires maven to be installed and in path
- Optional: running NotificationService requires play 2.1+ to be installed
- cd into the 'ZappposNotification' directory (main maven module)
- Run ‘mvn install’
- the program is composed of 4 moduels, if the 'Services' module that is obkay**To create an executable jar**
- navigate to the UI module
- run mvn clean jfx:jar
- result will be in target/jfx/app
- click " UI-1.0-SNAPSHOT-jfx.jar"