Code Monkey home page Code Monkey logo

msa-iam-sample's Introduction

TL;DR

Backend engineer of Modusign, Inc

Love well-architected, fine-grained software

Tech & Skills

Languages: Typescript, Javascript, Java

Frameworks: Nestjs, koa, express, spring, typeorm, sequelize

Testing: jest, mocha-chai-sinon, k6

Database: mysql

DevOps: AWS, Docker, Git

Interested in

OOP, DDD, Layered architecture, TDD, MSA

Event-driven architecture

GraphQL, Kubernetes, Terraform

History

Modusign, Backend engineer (2017~)

  • REST API 설계
  • 모놀리스 애플리케이션 MSA 전환
    • Event driven architecture
  • typescript 및 nestjs 도입
  • docker를 사용한 컨테이너화 - docker-compose, ECS
  • TDD 도입
    • 행위주도-테스트(BDD), test double
  • DDD 도입
    • Event storming 등의 방법론을 통한 DDD 가속화
    • 전략/전술적 설계
    • CQRS
  • 계약 서비스 구현
  • 비즈니스 모델 전환
    • 건 단위 요금 산정 방식에서 구독 요금제 형식으로 전환
    • 사용자별 권한 및 사용량 모델 설계
  • 보안 인증 진행 (ISO27001)
    • application 계층에서의 사용자 데이터 암호화 (AES-256)
  • CI/CD
    • CircleCI를 사용한 애플리케이션 배포 프로세스
    • Github Actions로 이전
  • Logging
    • log 구조 설계, correlation_id 를 사용한 로그 트래킹
    • Elastic stack (Filebeat + Elasticsearch + Kibana)를 사용한 로그 수집
    • Cloudwatch + lambda + EK 사용하도록 변경
  • 사내 자동화 도구 개발
    • Git event hook, lambda, slack application 을 사용하여 이슈가 할당되면 담당자에게 멘션
    • 사용자의 결제 결과 slack 알림
    • 서비스 내 batch 실패 시 slack 알림

Mr. Ddak, Co-founder, Mobile app developer (2012~2014)

  • 부동산 거래 중개 플랫폼 모바일 애플리케이션 구현

Kyungbook National University (2008~2016)

  • Bachelor's degree of computer science & engineering

Contacts

Email: [email protected]

Social media: facebook, instagram, linkedIn

msa-iam-sample's People

Contributors

imione avatar

Watchers

 avatar

msa-iam-sample's Issues

DDD generic class

Summary

DDD generic class is necessary to implement application that follows DDD tactical patterns

What is the problem you think

Necessary components to follow DDD tactical patterns below:

  • Aggregate
  • Entity
  • Id (of entity)
  • Value object
  • Repository (repository-aggregate pattern)

Why it should get better

These generic classes will accelerate implementation of DDD tactical patterns

How can you know it gets better

Other detail

chore: add issue template

Issue template is needed for writing issues as consistent format.

Issue template contains:

  • Summary
  • What is the problem?
  • Why it would get better?
  • How we know it becomes better?
  • (optional) When it should be finished?
  • (optional) Other context or idea

chore: pr template

Pull request template is needed for writing PR as consistent format.

PR template contains:

  • What is modified?
  • Why this modification is important? (otherwise link to specific issue or bug report)
  • How it implemented?
  • (optional) Checklist
  • (optional) QA Checklist

ci: PR labeler(github actions)

I wanna recognize the PR affects which project scopes.
Normally project scopes is shown as github label,
So it will be useful that a utility puts labels to PR automatically.

feat: create user

Summary

  • feature: Add new user

What is the problem you think

  • Creating user is the first step for managing user via IAM system

Why it should get better

How can you know it gets better

Other detail

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.