# SWOT Analysis of Vendor - Alok ## Globant | Strength | Weakness | Opportunity | Threat | | -------- | -------- | -------- | -------- | | Good Coders | // | More refactoring in View & ViewModels | Are we gping to get the guys who wrote the code? | | SwiftUI | CocoaPods | CocoaPods | // | | Very Well <br />Structured Code | // | <br/><li/>First party netwroking code <br/><li/> File Structure | // | | Solved Cahcing <br />Image issue for us :P | // | // | // | | CoreData | // | Scope of Var/Func | // | | Good OO Practices <br/><li/> Operator Overlaod | | // | // | | Good basic coverage | // | <br/><li/> No nill test <br/><li/>More test coverage | // | Requirements(5) + UX (5) + Tests (4) | Category | Score out of 5 | | ------------------------------------------------------- | -------- | | Adherence to business requirements & UX Design (MVP3) | 5 | | Adherence to DSG, platform standards & best practices | 4.5 | | Overall quality of technical design, architecture | 5 | | Adequate and thorough unit test coverage| 4 | ### TCS | Strength | Weakness | Opportunity | Threat | | -------- | -------- | -------- | -------- | | SwiftUI | Not good use of MVVM | UIKit | Copy paste code, <br /> without attibution -> <br/><li/>CGPoint+Extensions, <br/><li/>CGRect+Extensions, <br/><li/>Placeholder, <br/><li/>ShimmerCoreView, <br/><li/>ShimmerCoreView, <br/><li/>ShimmerElement, <br/><li/>ShimmerScope, <br/><li/>ShimmerSyncTarget, <br/><li/>ShimmerView, <br/><li/>ShimmerViewStyle, <br/><li/>SwiftUIViewController, <br/><li/>UIColor+Extensions, <br/><li/>UIResponder+Extensions, <br/><li/> Basically copied an open source library and and dropped in project | | Conformance to design | MVVM issue: No specialized View-ViewModel pair. <br /> One large ViewModel is passed into all the Views | Over complicated views Specially Shimmer view | Dead Code ShimmerReplicatorView, ShimmerReplicatorViewCell, | | No dep on third party lib | Loosely followed the design | Unit test should not depend on API Calls | No attention to details, font sizes, boldness not matching. <br /> Images are not matching size nor aspect ratio. No proper shadows on elements | | | | Single Unit test should not have multiple asserts | | | | | Only 3 line of Combine code | | Requirements(3.5) + UX (3.5) + Tests (1.5) | Category | Score out of 5 | | ------------------------------------------------------- | -------- | | Adherence to business requirements & UX Design (MVP3) | 3.5 | | Adherence to DSG, platform standards & best practices | 3.5 | | Overall quality of technical design, architecture | 3 | | Adequate and thorough unit test coverage| 1.5 | ## Def Method | Strength | Weakness | Opportunity | Threat | | -------- | -------- | -------- | -------- | | Good code structure | Obvious UI bugs | UI Issues <br/><li/> Back button nav <br/><li/> Map interaction | // | | SwiftUI | // | Almost two weeks spread: I expecorted more from Steven | UI blocking code <br/><li/>CLLocationManager.locationServicesEnabled() | | ETC philophy | // | Smaller models | // | | MVVM | // | <br/><li/> MVVM <br/><li/> No nill test <br/><li/>More test coverage | // | Requirements(3) + UX (3.2) + Tests (3) | Category | Score out of 5 | | ------------------------------------------------------- | -------- | | Adherence to business requirements & UX Design (MVP3) | 3.2 | | Adherence to DSG, platform standards & best practices | 3 | | Overall quality of technical design, architecture | 3 | | Adequate and thorough unit test coverage| 3 | ## Collabera | Strength | Weakness | Opportunity | Threat | | -------- | -------- | -------- | -------- | | SwiftUI | Explicit unwrap | | Not being careful about nullability make code crash prone | | // | Autogenerated code | Storing large data in UserDefault | <br /> Code Structure -> UIApplication Extension in SearchTab View. | | // | // | Retrofitting combine in URLSession | No modularity in <br/><li/> View Code <br/><li/> Data storage | | // | // | // | Overengineering of API | Requirements(0) + UX (0) + Tests (0) | Category | Score out of 5 | | ------------------------------------------------------- | -------- | | Adherence to business requirements & UX Design (MVP3) | 0 | | Adherence to DSG, platform standards & best practices | 0 | | Overall quality of technical design, architecture | 0 | | Adequate and thorough unit test coverage| 0 |