# Man-Jain ## Homebase App: In-depth analysis ### Statistics: * Total lines: 26,000 * Contribution = 42.36% ### Automated analysis results: - General assessment: https://sonarcloud.io/summary/overall?id=namesty_homebase-app - Main points of improvement: https://sonarcloud.io/project/issues?authors=manank321%40gmail.com&resolved=false&severities=MAJOR&types=CODE_SMELL&id=namesty_homebase-app #### Conclusions and observations - Homebase is a huge application, with 26k lines of code and multiple integrations and very complex behaviors and user flows - There is very little percentage of code duplication, which is even better given the size of the app; only 4.4% - No security vulnerabilities - Code Smells rating is "A" which is very good. There's still a significant amount of them (because the codebase is very large). Man-Jain is responsible for 16% of them and they're all related to unused code. - There is a considerable amount of bug issues (12) which merits a "C" rating, and although Man-Jain did not author any of those, they should still be/have been reviewed as they're pretty evident (e.g: `network === networkNameMap.ghostnet ? 0 : 0`). ### Human analysis results: #### Positive highlights: - The application is very complex and requires a very deep understanding of the architecture behind it and technical limitations of the Tezos's ecosystem tooling. Man-Jain managed to ship a whole new version refactor by reimplementing the core mechanisms of the DAOs that Homebase supports - His understanding of technical requirements is very deep and thorough. He's understood and handled technical requests directly from the Homebase community and the client. - He has successfully added new features to the already existing application - He's led the implementation of the merge between Homebase and Homebase lite - He identified the needs very quickly and took initiatives like the refactoring of Homebase's indexer - His code has been clean and appropriate - He's handled a multitude of different integrations with different 3rd party services. - He's taken ownership of the whole codebase, shipping features and solving issues from changes to the services layer, to UI, to the DAO asbtraction, etc. - He's identified additional requirements and points of improvement and made issues for them. #### Points of improvement: - Application code still has no tests and it needs them. Although this may seem like a very standard request, performing e2e tests on Homebase in particular isn't easy. It requires the dockerization and orchestration of many different 3rd party services and other dOrg-maintained applications outside of Homebase (like the indexer). But still, this is the strongest point of improvement.