An open API service indexing awesome lists of open source software.

https://github.com/obaidulsaiki/project3_javafx01_e-commerceapplication

Ecommarce application join project with israt sumaiya ripti for the partial fullfilment of the JAVA university course
https://github.com/obaidulsaiki/project3_javafx01_e-commerceapplication

css java javafx-application sql

Last synced: 4 months ago
JSON representation

Ecommarce application join project with israt sumaiya ripti for the partial fullfilment of the JAVA university course

Awesome Lists containing this project

README

          

# project3_JavaFx01_E-commerceApplication

A JavaFX-based desktop e-commerce application template / demo that demonstrates core e-commerce flows (product browsing, cart management, and checkout) implemented using Java and JavaFX. This project is intended as a learning/sample application or a starting point for building a full-featured desktop storefront.

---

## Table of contents
- [Features](#features)
- [Demo screenshots](#demo-screenshots)
- [Prerequisites](#prerequisites)
- [Build & run](#build--run)
- [Project structure](#project-structure)
- [Configuration](#configuration)
- [Testing](#testing)
- [Contributing](#contributing)
- [Troubleshooting](#troubleshooting)
- [License](#license)
- [Contact](#contact)

---

## Features
Core features included or expected in this project:
- Product catalog view (list / grid)
- Product details screen
- Shopping cart (add, update quantity, remove)
- Simple checkout flow (order summary and confirmation; payment simulated)
- Basic UI built with JavaFX (FXML or programmatic UI)
- Local persistence for product and order data (file or embedded DB)
- Search and simple filters (category, price)
- Clean, modular code suitable for extension

(If your implementation differs, adjust the above list to match the actual features.)

---

## Demo screenshots
Add screenshots to `docs/screenshots/` or `assets/` and reference them here:

![Product List](docs/screenshots/product-list.png)
![Product Details](docs/screenshots/product-details.png)
![Shopping Cart](docs/screenshots/cart.png)

---

## Prerequisites
- JDK 11+ (JDK 17 or later recommended)
- JavaFX SDK (if you're not using a build tool that pulls JavaFX modules automatically)
- Maven or Gradle (recommended for dependency and run management)
- An IDE (IntelliJ IDEA, Eclipse, or VSCode) with JavaFX support is helpful

---

## Build & run

Below are common ways to run the application depending on your build setup.

From an IDE
1. Import project as a Maven or Gradle project.
2. Ensure project SDK is set to the required JDK.
3. Configure JavaFX SDK (if needed) or ensure the JavaFX dependencies are available.
4. Run the main application class (usually `main.Main`, `com.yourpackage.MainApp` or similar).

Using Maven
- To compile:
mvn clean compile
- To run (if using the javafx-maven-plugin):
mvn clean javafx:run
- To package:
mvn clean package
Then run the produced JAR (may require module-path flags for JavaFX):
java --module-path /path/to/javafx/lib --add-modules javafx.controls,javafx.fxml -jar target/project3_JavaFx01_E-commerceApplication.jar

Using Gradle
- To run (if configured):
./gradlew run
- To build:
./gradlew build

Notes:
- If your build uses JavaFX as external modules, include the `--module-path` and `--add-modules` args when running the jar.
- If you prefer native installers, consider using jlink/packager or the JavaFX jpackage tool.

---

## Project structure
A typical layout (adjust to actual repo layout):

- src/
- main/
- java/ - Java source code (application, controllers, services, models)
- resources/ - FXML, CSS, images, localization files
- docs/ - Project documentation, screenshots
- build/ or target/ - Build outputs
- pom.xml or build.gradle

Key packages (example)
- com.example.app.ui — JavaFX controllers & views
- com.example.app.model — Domain models (Product, Cart, Order)
- com.example.app.service — Services for data, persistence, business logic
- com.example.app.util — Utilities and helpers

---

## Configuration
- Data files, DB connection strings, and application settings can be stored in `config/` or `src/main/resources/`.
- Common properties: default currency, sample data path, persistence mode (in-memory / file / embedded DB).
- To change the JavaFX SDK path for manual runs, update your run configuration or the startup scripts.

---

## Testing
- Unit tests (if present) can be run with:
mvn test
or
./gradlew test

- For JavaFX UI tests consider TestFX or similar frameworks.

---

## Contributing
Contributions are welcome! Suggested workflow:
1. Fork the repository
2. Create a feature branch: `git checkout -b feat/new-feature`
3. Commit your changes and push: `git push origin feat/new-feature`
4. Open a pull request describing your changes

Please include:
- A clear description of the change
- Screenshots for UI changes
- Any migration or compatibility notes

---

## Troubleshooting
- javafx runtime errors: ensure JavaFX is on the module path and that `--add-modules` includes required modules (javafx.controls, javafx.fxml, etc.).
- UnsatisfiedLinkError for platform libs: download the correct JavaFX SDK for your OS or use platform-specific classifiers in Maven/Gradle.
- UI not loading FXML: confirm resource paths and correct FXMLLoader resource location.

---

## License
This project is provided under the MIT License. See [LICENSE](LICENSE) for details.
(Replace or update the license file as appropriate for your project.)

---

## Contact
Maintainer: obaidulsaiki
Project: obaidulsaiki/project3_JavaFx01_E-commerceApplication

If you'd like, I can:
- Customize this README with exact run commands and dependency details by inspecting the repository,
- Add badges (build, license), or
- Create a short CONTRIBUTING.md and LICENSE file.