A Java-based desktop application that connects to the Walmart API, allowing users to search and sort products through an intuitive graphical interface.
- Real-time product search through Walmart's API
- Customizable sorting options (price, rating, bestseller)
- Responsive GUI with product cards displaying images and details
- Star rating visualization system
- Adjustable search result quantities
- Java - Core programming language
- JavaFX - GUI framework (Version 22-ea+16)
- Gradle - Build automation tool
- JUnit - Testing framework
- OkHttp - HTTP client
- JSON - Data interchange format
-
Ensure you have Java 17+ installed with a corresponding JDK and JavaFX SDK, and set up your PATH environment variable to include the Java executable.
-
Clone the repository:
git clone https://github.com/team02/walmart-search.git
-
Set up API keys:
- Create directory:
src/main/resources/WalmartAPI/keys/ - Create two files in this directory:
private-key.pem: Your Walmart API private keyconsumer-id: Your Walmart API consumer ID
These files are gitignored for security. Contact project maintainers for development keys.
- Create directory:
-
Build the project:
./gradlew build
-
Run the application:
./gradlew run
src/
├── main/
│ ├── java/WalmartAPI/
│ │ ├── gui/ # GUI components
│ │ ├── logic/ # Business logic and API handling
│ │ └── model/ # Data models
│ └── resources/ # Assets and configuration files
└── test/ # Test files
- JavaFX: Version 22-ea+16 - Download
- Apache Commons Codec: Version 1.16.0 - Download
- JSON: Version 20231013 - Download
- JUnit Jupiter API: Version 5.9.1 - Download
- OkHttp3: Version 4.12.0 - Download
- Sean O'Connor - Scrum Master
- Alec Sanders - Project Owner
- Geoffrey Gaines - Team Member
- Aidan Finkler - Team Member
- Sprint 1 (11/2 - 11/9): Initial console-based product search implementation
- Sprint 2 (11/9 - 11/16): Core functionality and R&D
- Sprint 3 (11/16 - 11/27): GUI development and integration
- Sprint 4 (11/27 - 12/4): Final deliverables and documentation
This project is part of CSCI 205 - Software Engineering and Design, Fall 2023, under Prof. Brian King.