Slide 1

Slide 1 text

1 Confidential Internship Presentation 16 August 2022 - 11 November 2022 Author: @a-kumar Intern@Merlogi, MOH Team

Slide 2

Slide 2 text

2 Confidential Agenda What is Merlogi What I Did Conclusion 02 03 01

Slide 3

Slide 3 text

3 Confidential What is Merlogi Merlogi aim to provide logistics services kinder to all people involved and to society as a whole. Merlogi is working to expand Mercari Posts and other Mercari touchpoints to more locations and build a package pickup distribution network, creating an even better experience for Mercari’s more than 20 million monthly users What does MOH DO - Manage shipments from seller’s QR creation to depart from Melogi Open Hub. - Build an operation for an anonymous invoice replacement and sorting at the Merlogi Open Hub. - MOH Web manages operators and prepare boxes for operators to sort

Slide 4

Slide 4 text

4 Confidential What I Did 1. OnBoarding Tasks 2. UI optimization for MOH-Web 3. Bug Fixing for MOH-Web 4. Writing Unit test cases for MOH-Web 5. Created api for end to end using grpc in golang 6. Learned about GO, Next, Typescript

Slide 5

Slide 5 text

5 Confidential OnBoarding Tasks - Did common onboarding tasks for frontend and backend - Small task to Sentry version update What I learned - Next.js - Typescript - Tailwind - learned about Frontend Architecture Design

Slide 6

Slide 6 text

6 Confidential UI optimization for MOH-Web ● Snack bar tech debt or enhancement ○ Found the issue why when switch between different SnackBar type in storybook, we see unnecessary flashes in the animation. ○ Fixed it without using any external library . What I learned - StoryBook - Twin.macro - HeadlessUI

Slide 7

Slide 7 text

7 Confidential UI optimization for MOH-Web ● Improve the result by snack bar when managers do some operations ○ Implement success snack bar when creating MOH Operator account. ○ Implement failure snack bar when creating MOH Operator account ○ Written test cases for every feature introduced or extra code added What I learned - Jest - How to use react-i18next

Slide 8

Slide 8 text

8 Confidential UI optimization for MOH-Web ● Code Refactor Operator Table ○ Decreased OperatorTable.Row cyclomatic complexity from 18 to 10, threshold = 10 ○ Increased Code health ○ Removed CodeScene warnings ● Updated eslint to add cyclomatic complexity ○ Suggested this functionality as it is useful as we don't have to depend on warnings and we can stop pushing higher complexity code initially and Codescene warning can be our second defense against any case which are left by eslint What I learned - What is Cyclomatic complexity - Complexity ESLint - Why code health is important and how to increase it

Slide 9

Slide 9 text

9 Confidential Bug Fixing for MOH-Web ● MOH operator can login to MOH Management Tool ○ Found the reason why MOH operator is able to login ○ Removed the buggy code and overwrite it with new code ○ Written test cases for new sign out functionality for MOH operator What I learned - Firebase Auth - Role based access control

Slide 10

Slide 10 text

10 Confidential Unit test cases for MOH-Web ● writing test case for useListOperatorsV1 hook ○ Wrote useListOperatorsV1 Test cases from the scratch ○ Found different edge cases that can be used in testing of hook ○ Learned a lot about Testing in typescript and Next What I learned - learned about React Hooks for Data Fetching SWR - Testing with react hooks

Slide 11

Slide 11 text

11 Confidential Created Api for sort center ● Get sort center api addition ○ Created api using protocol buffers ○ Connected api with the databases ○ Inserted dummy data in database ○ Wrote test cases for the api What I learned - Learned about grpc golang - Testing with react hooks - Learned about protocol buffers and their importance and functionality they provide - Learned to write test cases in golang -

Slide 12

Slide 12 text

12 Confidential Integrated get sort center api in fronted ● Integration of api in frontend ○ Integrated api in frontend in Moh web ○ Wrote test cases for the code change ○ Replaced the old dummy sort center with current dynamic sort center ○ A Important feature for future . What I learned - Testing with react hooks

Slide 13

Slide 13 text

13 Confidential Participated in hackfest ● Developed a game to help people memorize the new corporate mission

Slide 14

Slide 14 text

14 Confidential 03 Conclusion - Learnt a Lot like Next.js , Testing , Frontend coding methodologies Typescript. - Also had a lot of fun in bukatsu club activities and other group activities organized by mercari. - Worked in backend domain also and explored about Golang . - Tried to contribute and learn as much as i can from this internship and had great time at mercari.

Slide 15

Slide 15 text

15 Confidential Thank You!