diff --git a/README.MD b/README.MD index 515be11..ea7317c 100644 --- a/README.MD +++ b/README.MD @@ -1,39 +1,39 @@ # Employee Directory ## Build tools & versions used -### Using Xcode 16.2, built with Swift 5.9. +**Xcode 16.2, built with Swift 5.9.** ## Steps to run the app -### No additional steps are required. Simply build and run the project. The app supports iPhone and iPad in portrait mode. +No additional steps are required. Simply build and run the project. The app supports iPhone and iPad in portrait mode. ## What areas of the app did you focus on? -### I focused on designing a robust architecture using a separation of concerns approach. I also implemented a functional UI for the employee directory. +I focused on designing a robust architecture using a separation of concerns approach. I also implemented a functional UI for the employee directory. ## What was the reason for your focus? What problems were you trying to solve? -### My primary goal was to ensure the app's architecture was clean, modular, and easy to maintain or extend. I aimed to minimize tightly coupled code and ensure future features could be added with minimal changes. This approach improves testability and makes the codebase easier for others to understand and work with. +My primary goal was to ensure the app's architecture was clean, modular, and easy to maintain or extend. I aimed to minimize tightly coupled code and ensure future features could be added with minimal changes. This approach improves testability and makes the codebase easier for others to understand and work with. ## How long did you spend on this project? -### Approximately 5 hours: - - 4 hours on development and testing. - - 1 hour on code refinement, documentation, and ensuring best practices. +Approximately 5 hours: +- 4 hours on development and testing. +- 1 hour on code refinement, documentation, and ensuring best practices. ## Did you make any trade-offs for this project? What would you have done differently with more time? -### Trade-offs: - - The networking layer currently lacks a request builder. This limits the ability to add query parameters or authentication headers in a structured way. - - The UI uses standard UIKit components, which could be improved for a more modern or visually appealing design. +**Trade-offs**: +- The networking layer currently lacks a request builder. This limits the ability to add query parameters or authentication headers in a structured way. +- The UI uses standard UIKit components, which could be improved for a more modern or visually appealing design. - With more time, I would: - - Implement a dedicated `RequestBuilder` to make the networking layer more flexible and extensible. - - Enhance the UI by incorporating more modern design elements, animations, and responsiveness. - - Expand test coverage to include additional edge cases and integration tests. +**With more time**, I would: +- Implement a dedicated `RequestBuilder` to make the networking layer more flexible and extensible. +- Enhance the UI by incorporating more modern design elements, animations, and responsiveness. +- Expand test coverage to include additional edge cases and integration tests. ## What do you think is the weakest part of your project? -### The weakest areas are: - - The UI, which is functional but minimal, using standard UIKit elements. - - The networking layer, would benefit from additional abstraction to handle authentication or dynamic query parameters more effectively. +The weakest areas are: +- The UI, which is functional but minimal, using standard UIKit elements. +- The networking layer, which, while functional, would benefit from additional abstraction (e.g., `RequestBuilder`) to handle authentication or dynamic query parameters more effectively. ## Did you copy any code or dependencies? Please make sure to attribute them here! -### I string extension for phone number formatting from a Stack Overflow post. +I adapted a regular expression-based string extension for phone number formatting from a Stack Overflow post. While the logic was modified for this project, credit is due to the original author for the inspiration. ## Is there any other information you’d like us to know? -### When building projects from scratch, I prioritize setting up the API/Service/Model layer and validating it with tests before focusing on the UI. My strengths lie in designing clean, scalable app architectures. While I am proficient in UIKit, I am less experienced with SwiftUI. +When building projects from scratch, I prioritize setting up the API/Service/Model layer and validating it with tests before focusing on the UI. My strengths lie in designing clean, scalable app architectures. While I am proficient in UIKit, I am less experienced with SwiftUI but eager to continue improving in that area.