Date: November 1, 2025
This assessment evaluates your QA skills through analysis of our mental health application "MindWell" (similar to Headspace/Calm but with team management features). Complete all sections in a single document (maximum 3 pages).
MindWell consists of:
- Flutter-based mobile app for employees to complete assessments and follow mental wellness journeys
- Nest.js backend handling user data and analytics
- Vue 3 admin panel for company managers to monitor team mental health metrics
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // MARK: - Library | |
| @propertyWrapper | |
| struct Observe<Value> where Value: ObservableValue { | |
| var value: Value | |
| var projectedValue: Hook<Value> | |
| public init(wrappedValue value: Value) { | |
| self.value = value | |
| self.projectedValue = Hook(value) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // MARK: - Library | |
| struct Hook<Value> { | |
| private var data: Value | |
| private var listeners: [(Value) -> Void] = [] | |
| var value: Value { | |
| get { | |
| return self.data | |
| } | |
| set(newValue) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // MARK: - Library | |
| protocol ObservableModel: NSObject { | |
| var observer: Observer<Self> { get } | |
| func observe<Value>(_ keyPath: KeyPath<Self, Value>, changeHandler: @escaping (Value?) -> Void) | |
| } | |
| extension ObservableModel { | |
| func observe<Value>(_ keyPath: KeyPath<Self, Value>, changeHandler: @escaping (Value?) -> Void) { | |
| observer.observe(keyPath, changeHandler: changeHandler) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const Resizable = require('resizable') | |
| new Vue({ | |
| el: "#app", | |
| methods: { | |
| onResize() { | |
| this.$refs.chatWindow.style.transform = '' | |
| } | |
| }, | |
| mounted() { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Welcome! require() some modules from npm (like you were using browserify) | |
| // and then hit Run Code to run your code on the right side. | |
| // Modules get downloaded from browserify-cdn and bundled in your browser. | |
| const Vue = require('vue') | |
| const Resizable = require('resizable') | |
| console.log(Resizable) | |
| // console.log(Vue) |