0% found this document useful (0 votes)
21 views4 pages

Speech On PhoneCheck Desktop 3

Speech on PhoneCheck Desktop 3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views4 pages

Speech On PhoneCheck Desktop 3

Speech on PhoneCheck Desktop 3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Speech on PhoneCheck Desktop 3

Introduction
PhoneCheck Desktop 3, an application designed to test and process mobile devices like phones and tablets.
This application is primarily used for diagnosing device health, performing hardware tests, erasing data
securely, and verifying IMEI/ESN information. It ensures that devices are thoroughly checked before being
resold or repurposed.

PhoneCheck Desktop 3 is built using Java 18, Spring Boot, and JavaFX for the user interface. It also uses MQTT
(Moquette) for communication between different components and Eclipse Paho as the MQTT client.

Project Workflow
The application is divided into three main modules:

1. PhoneCheck Daemon – Manages the MQTT broker for real-time communication.


2. PhoneCheck Backend – Handles business logic, device communication, and test execution.
3. PhoneCheck UI – Provides a user interface for interaction.

Now, let's go through the flow of the project and how each module plays a role.

📌 Step-by-Step Workflow of PhoneCheck Desktop 3

1 Application Startup
1️⃣

● When the application starts, it initializes the MQTT broker to start communication between the
backend and UI.
● The backend services are loaded, including device detection, test execution, and database setup.
● The JavaFX-based UI starts and displays an interface for the user to interact with the system.

2️⃣Device Connection & Detection

● When a device (Android/iOS) is plugged in via USB or ADB, the system detects it.
● The backend gathers details like serial number, model, battery health, software version, and carrier
lock status.
● This information is sent to the UI, where users can view the device details in real time.
3️⃣Running Tests on Devices

The system can perform automated tests as well as interactive tests with user input.

✅ A. Automated Tests (Executed in the backend)

● Battery Health Check – Measures battery capacity, charge cycles, and wear.
● IMEI/ESN Verification – Ensures the device is not blacklisted or stolen.
● Storage & Memory Test – Checks storage health and available space.
● Network & Connectivity Test – Verifies Bluetooth, Wi-Fi, and cellular connectivity.
● Screen & Display Test – Detects pixel issues and dead spots.

🔄 B. Manual Tests (User performs these tests via UI)

● Users can run interactive tests through the companion mobile app, such as:
○ Touchscreen Calibration
○ Microphone & Speaker Check
○ Camera Functionality Test

4️⃣Test Results & Reporting

● Once tests are completed, the results are stored in:


○ Local Database (H2 or MySQL)
○ Cloud (PhoneCheck API)
○ XML/JSON Files (for custom exports)
● The UI displays a pass/fail report for each test, allowing users to review results.

5️⃣Device Workflow Management

● If a device passes all required tests, it is marked Ready for Sale.


● If a device fails a test, the user can either:
○ Retest the failed component.
○ Override the failure manually.
○ Send the device for further inspection.
● Additional workflows include:
○ Auto-Erase – Wipes the device securely.
○ Blacklist Check – Ensures the device is not flagged as stolen.
○ Customization Options – Allows users to configure specific workflows based on company
needs.

6️⃣Data Synchronization & Cloud Integration

● The backend syncs test results and device status with the PhoneCheck Cloud API.
● Logs are saved for future auditing and debugging.
7️⃣Application Shutdown

● When the application is closed:


○ All active MQTT connections are terminated.
○ The database updates are saved securely.
○ Pending sync tasks are completed before shutdown.

📂 Explanation of Each Module

1️⃣PhoneCheck Daemon (MQTT Broker)

● Acts as the communication hub between backend and UI.


● Uses Moquette (Embedded MQTT broker) to send and receive messages asynchronously.
● Ensures smooth, real-time data exchange.

2️⃣PhoneCheck Backend

● Handles business logic and device interactions.


● Communicates with devices through ADB (Android) or iOS Configurator.
● Processes device test results and stores them in a database.
● Interacts with external APIs for IMEI/ESN verification, cloud sync, and device activation.

3️⃣PhoneCheck UI

● Built using JavaFX, providing an intuitive interface.


● Displays real-time device details, test results, and workflow management options.
● Receives updates from the backend via MQTT messages.

📁 Additional Modules in PhoneCheck Desktop 3


Apart from the main three components, the project has several supporting modules, including:

● Device Activation Module – Handles device activation logic.


● Device Connection Module – Manages device detection via USB/ADB.
● Device Info Module – Retrieves all device-related data.
● Device Operations Module – Performs actions like factory reset, power off, and reboot.
● Cloud API Module – Connects with the PhoneCheck Cloud for data sync.
● Customization Module – Allows configuration of specific test workflows.
● License Module – Manages licensing and access control for device processing.
● Print Module – Prints labels and test reports for processed devices.

🛠 How to Set Up and Run the Application


1️⃣Installation & Setup

● Ensure Java 18 is installed.


● Clone the PhoneCheck Desktop 3 repository.
● Open the project in IntelliJ IDEA.
● If a database error occurs, delete the existing DB file and restart.

2️⃣Running the Application

From Command Line (Run in the following order):

1. gradle build
2. gradle :phonecheck-daemon:bootRun
3. gradle :phonecheck-backend:bootRun
4. gradle :phonecheck-ui:bootRun

From IntelliJ IDEA:

1. Open Gradle Tab → Tasks > application > bootRun


2. Run phonecheck-daemon, phonecheck-backend, and phonecheck-ui in order.

🎯 Key Takeaways
● PhoneCheck Desktop 3 is a desktop application that performs automated and manual tests on
devices.
● It consists of three main modules: Daemon (MQTT Broker), Backend (Business Logic), and UI (User
Interface).
● Uses Spring Boot, JavaFX, MQTT, ADB, and Cloud APIs to interact with devices.
● The workflow includes device detection, test execution, data synchronization, and reporting.
● Built on Java 18, it requires proper setup and database migration using Flyway.
● The application follows a multi-module architecture with clear separation of concerns.

🌟 Conclusion
In summary, PhoneCheck Desktop 3 is a powerful tool for automated device testing and processing. It ensures
that devices are thoroughly checked before being resold, making it an essential application for businesses
dealing with second-hand phones. With its modular architecture, real-time communication, and seamless
integration with cloud services, it provides a robust solution for device quality control.

Thank you! 🚀

You might also like