Skip to content

Latest commit

Β 

History

780 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DuckyEmulator Logo

DuckyEmulator: High-Performance Test Emulator

A modern, efficient test emulation platform built for Oracle certification preparation

πŸš€ Overview

DuckyEmulator is a high-performance test emulation platform specifically designed for Oracle certification preparation. Built as a superior alternative to existing solutions like Enthuware Test Studio, DuckyEmulator offers significant performance improvements and a modern, intuitive user interface.

Key Highlights

  • πŸƒβ€β™‚οΈ Performance First: Dramatically reduced memory usage (from 7GB+ to minimal footprint)
  • 🎨 Modern UI: Built with MaterialFX and JavaFX for a beautiful, responsive interface
  • πŸ“Š Comprehensive Management: Full admin panel for questions, topics, and classifications
  • ⚑ Fast Navigation: Efficient question browsing with pagination and search
  • πŸ“ˆ Detailed Analytics: Comprehensive test results and session history
  • πŸ”’ Secure Authentication: Robust user management with role-based access

DuckyEmulator Screenshot DuckyEmulator Screenshot

✨ Features

πŸ‘‘ Admin Panel

  • Question Management: Create, read, update, and delete questions with multiple choice options
  • Topic Organization: Manage test topics with hierarchical structure
  • Classification System: Easy, Medium, Hard difficulty levels
  • Image Support: Upload and manage question images with relative path storage
  • Bulk Operations: Efficient pagination for handling large question banks

πŸ‘¨β€πŸ’» User Interface

  • Test Sessions: Create and manage timed test sessions with 10-20 randomized questions
  • Smart Navigation: Jump to specific questions, mark answers, track progress
  • Real-time Timer: Live elapsed time tracking during tests
  • Comprehensive Results: Detailed score breakdown with question-by-question analysis
  • Session History: View and manage past test attempts

πŸ› οΈ Technical Features

  • High Performance: Optimized database queries and efficient memory management
  • Cross-platform: Java-based solution running on Windows, macOS, and Linux
  • Responsive Design: MaterialFX components for modern UI/UX
  • Robust Database: MySQL integration with JDBC connectivity
  • Modular Architecture: Well-structured codebase with clear separation of concerns

πŸš€ Quick Start

Prerequisites

  • Java 17 or higher
  • MySQL 8.0 or higher
  • Maven 3.8 or higher
  • 4GB RAM minimum (8GB recommended)

Installation

  1. Install JDK 17.0.14 or higher: Download from this link

  2. Install MySQL 8.0 or higher: Download from this link

  3. Download DuckyEmulator: Get the JAR file from this link

  4. Run the application: Double-click the JAR file or execute:

    java -jar DuckyEmulator.jar

First Launch

  1. Launch DuckyEmulator
  2. Create admin account on first startup
  3. Login to admin panel to add questions and topics
  4. Switch to user mode to take practice tests

πŸ“– Documentation

Project Structure

DuckyEmulator/
β”œβ”€β”€ src/main/java/com/arthroverse/duckyemulator/
β”‚   β”œβ”€β”€ Main/                    # Application entry point
β”‚   β”œβ”€β”€ Database/                # Database models and services
β”‚   β”‚   β”œβ”€β”€ AdminBeans/         # Admin data models
β”‚   β”‚   β”œβ”€β”€ PublicBeans/        # User session models  
β”‚   β”‚   └── CredentialBeans/    # Authentication models
β”‚   β”œβ”€β”€ UIControllers/          # JavaFX controllers
β”‚   β”‚   β”œβ”€β”€ AdminUIControllers/ # Admin panel controllers
β”‚   β”‚   └── PublicUIController/ # User interface controllers
β”‚   β”œβ”€β”€ UIs/                    # Navigation and scene management
β”‚   └── Utilities/              # Helper classes and utilities
β”œβ”€β”€ src/main/resources/
β”‚   β”œβ”€β”€ fxmls/                  # JavaFX FXML layouts
β”‚   β”œβ”€β”€ css/                    # Stylesheets
β”‚   └── images/                 # Application assets
└── docs/                       # Documentation and guides

System Requirements

Admin Functions

  • βœ… Admin login/logout with secure authentication
  • βœ… Topic management (CRUD operations)
  • βœ… Classification management (Easy/Medium/Hard)
  • βœ… Question management with image support
  • βœ… Bulk operations with pagination

User Functions

  • βœ… User registration and authentication
  • βœ… Test session creation with randomized questions
  • βœ… Question navigation and answer selection
  • βœ… Real-time timer and progress tracking
  • βœ… Comprehensive result analysis
  • βœ… Session history and management

Technology Stack

  • Frontend: JavaFX 22 + MaterialFX
  • Backend: Java 17 + JDBC
  • Database: MySQL 8.0
  • Build Tool: Maven 3.8+
  • IDE: IntelliJ IDEA Ultimate (recommended)

πŸ› οΈ Development

Setting up Development Environment

# Clone and enter project directory
git clone https://github.com/arthroverse/DuckyEmulator.git
cd DuckyEmulator

# Install dependencies
mvn clean install

# Run in development mode
mvn javafx:run

#To debug, runs
mvn javafx:run -P debug

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

Ways to Contribute

  • πŸ› Bug Reports: Found a bug? Open an issue
  • πŸ“ Documentation: Improve our docs and guides
  • πŸ”§ Code: Submit pull requests for bug fixes and features

Code Review Process

  • All PRs require review from maintainers
  • Automated tests must pass
  • Follow existing code style and patterns
  • Include appropriate documentation updates

πŸ“Š Performance

DuckyEmulator delivers significant performance improvements over existing solutions:

Metric Enthuware Test Studio DuckyEmulator Improvement
Memory Usage ~7GB <1GB 85% reduction
Startup Time 45-60s 8-12s 75% faster
Question Load 3-5s <1s 80% faster
UI Responsiveness Poor Excellent Dramatically improved

πŸ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Copyright (c) 2025 Arthroverse Laboratory

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

πŸ™ Acknowledgments

DuckyEmulator is built with gratitude to the open-source community:

  • OpenJFX - Modern Java UI toolkit
  • MaterialFX - Material Design components for JavaFX
  • MySQL - Reliable database engine
  • Maven - Dependency management and build automation

Special thanks to all contributors and testers who helped shape DuckyEmulator into a robust testing platform.

πŸ“ž Support

Getting Help

About

A universal testing emulator for students by Arthroverse Laboratory

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages