DriveWise
DriveWise is an iOS app designed to help users prepare for Singapore’s Basic Theory Test (BTT) and Final Theory Test (FTT) driving examinations. The app provides a comprehensive practice environment with features designed to optimize learning and test preparation.
Features
Practice Tests
- Practice Mode: Study at your own pace with immediate feedback and explanations.
- Timed Tests: Simulate the actual test environment with a timer.
- Weakness Targeting: Focus on questions you’ve struggled with in the past.
Learning Optimization
- Spaced Repetition: Questions you struggle with appear more frequently.
- Interleaving: Mixed practice across different topics for better retention.
- Immediate Feedback: Learn from mistakes with detailed explanations.
User Experience
- Clean, Intuitive UI: Easy to navigate interface.
- Light and Dark Mode: Choose your preferred theme.
- Accessibility Support: Adjustable text sizes for better readability.
- Progress Tracking: See your strengths and areas for improvement.
Premium Features
- Ad-Free Experience: Remove ads with the “Buy Me a Kopi” premium option.
- Full Question Bank: Access to all BTT and FTT questions.
Technical Implementation
Architecture
- SwiftUI: Modern declarative UI framework.
- MVVM Pattern: Clean separation of concerns.
- Combine Framework: Reactive programming for state management.
Key Components
- QuestionService: Manages questions and implements spaced repetition.
- ImageProcessingService: Handles OCR for question extraction from images.
- AppSettings: Manages user preferences and theme settings.
Data Management
- UserDefaults: Stores user progress and settings.
- Vision Framework: Used for text recognition in images.
Requirements
- iOS 15.0+
- Xcode 13.0+
- Swift 5.5+
Future Enhancements
- Cloud sync for progress across devices
- More detailed analytics on performance
- Additional practice modes
- Support for other driving test formats
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
- Singapore Traffic Police for the official BTT and FTT syllabus
- All contributors and testers who helped improve the app