ArRobot-iOS brings the classic RobotKarol experience into Augmented Reality (AR), allowing students to control and program a virtual robot within their real-world environment. The app makes learning programming concepts fun, interactive, and engaging through hands-on exploration.
Students can freely explore programming concepts in AR, create and share their own exercises using a built-in editor, or participate in structured challenges via an instructor-led Challenge Mode. Whether used in self-paced learning or a classroom setting, ArRobot-iOS provides a flexible and motivating experience.
- Free Exploration: Write and execute code to control a virtual robot in an AR space
- Custom Exercise Editor: Design your own programming tasks
- Exercise Sharing: Distribute custom exercises via QR codes or links
- Challenge Mode: Compete with others by completing instructor-defined exercises
- Gamified Learning: Earn points based on task completion, speed, and solution efficiency
/
├── App/ # iOS app source code (Swift + SwiftUI + ARKit)
└── Server/ # Server Code for Challenge Mode (Java + Spring Boot)
This structure ensures a clean separation of concerns, making the project easier to maintain and extend.
- macOS with Xcode installed
- iOS device that supports ARKit (e.g., iPhone 8 or newer)
- Basic familiarity with Swift and iOS development
To start the backend server for the Challenge Mode using Docker Compose:
- Make sure Docker and Docker Compose are installed.
- Clone the repository
- Navigate to the root of the just cloned repository (where the
compose.yml
file is located). - Run:
docker compose up --build -d
This will:
- Build the Spring Boot server
- Start the backend service (default port: 8080) in detached mode
To stop the services:
docker compose down
💡 Free exploration and custom exercises work without the server. The server is only required for Challenge Mode.