ãã«ããã©ãããã©ãŒã ã³ã³ãã³ãïŒãµãã¹ã¯ãªãã·ã§ã³ç®¡çã·ã¹ãã
ã³ã³ãã³ã/ãµãã¹ã¯ãªãã·ã§ã³ãµãŒãã¹ãããã€ããŒã¯ããŠãŒã¶ãŒèªèšŒãã³ã³ãã³ãã©ã€ãã©ãªããµãã¹ã¯ãªãã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ã管çãããããã¢ãã€ã«ãWeb管çãããã¯ãšã³ãã«ãŸãããå®å šãªãã©ãããã©ãŒã ãå¿ èŠãšããŠããŸããã
ãããžã§ã¯ããçžè«ãã
課é¡
ãµãã¹ã¯ãªãã·ã§ã³ããŒã¹ã®ã³ã³ãã³ããã©ãããã©ãŒã ãæ§ç¯ããã«ã¯ãçžäºã«é¢é£ããè€æ°ã®åé¡ã解決ããå¿ èŠããããŸãã:
- ãŠãŒã¶ãŒèªèšŒã¯ãã¢ãã€ã« (iOS/Android) ããã³Web管çã€ã³ã¿ãŒãã§ãŒã¹ã§æ©èœããå¿ èŠããããŸãã
- ãµãã¹ã¯ãªãã·ã§ã³ç®¡çã«ã¯ãè«æ±ãµã€ã¯ã«ãæŽæ°ãããã³ã¢ã¯ã»ã¹å¶åŸ¡ã®è¿œè·¡ãå¿ èŠã§ãã
- ã³ã³ãã³ãã©ã€ãã©ãªã«ã¯ã管çè åãã®ãã¥ã¬ãŒã·ã§ã³ããŒã«ãå¿ èŠã§ãã
- Google OAuthãšã¡ãŒã«ããŒã¹ã®èªèšŒã¯ã·ãŒã ã¬ã¹ã«å ±åããå¿ èŠããããŸãã
- ã¢ãã€ã«ã¢ããªã¯ãäž¡æ¹ã®ãã©ãããã©ãŒã ã§æŽç·Žããããã€ãã£ãæã®ãããšã¯ã¹ããªãšã³ã¹ãæäŸããå¿ èŠããããŸãã
ç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³
åœç€Ÿã¯ãFlutterã¢ãã€ã«ã¢ããªãReact管çããã·ã¥ããŒããNestJSããã¯ãšã³ãAPIãããªã3å±€ã¢ããªã±ãŒã·ã§ã³ã¹ã€ãŒããæ§ç¯ããŸããã
ã¢ãŒããã¯ãã£
- ã¢ãã€ã«ã¢ããª: Riverpodã«ããç¶æ 管çãšGoRouterããã²ãŒã·ã§ã³ãåããFlutter
- 管çããã·ã¥ããŒã: ZustandãšTailwind CSSãåããReact 19 + Vite
- ããã¯ãšã³ãAPI: TypeScriptãMongoDBãRedisãåããNestJS
- èªèšŒ: OTPã¡ãŒã«èªèšŒãåããJWT + Google OAuth2
- ã€ã³ãã©ã¹ãã©ã¯ãã£: AWS S3 (ã¹ãã¬ãŒãž), AWS SES (ã¡ãŒã«), Redis (ãã£ãã·ã³ã°)
ãã©ãããã©ãŒã ã³ã³ããŒãã³ã
ã¢ãã€ã«ã¢ã㪠(Flutter)
- Riverpodã«ããã¯ãªãŒã³ãªç¶æ 管çã®ããã®MVVMã¢ãŒããã¯ãã£
- ã¡ãŒã«ãšGoogle OAuthãªãã·ã§ã³ã«ãããã°ã€ã³/ãµã€ã³ã¢ãã
- OTPæ€èšŒã«ãããã¹ã¯ãŒãå¿ããããŒ
- GoRouterããŒã¹ã®ãã£ãŒããªã³ã¯ãšããã²ãŒã·ã§ã³
- æ°žç¶ã»ãã·ã§ã³ã®ããã®ã»ãã¥ã¢ãªããŒã¯ã³ã¹ãã¬ãŒãž
管çããã·ã¥ããŒã (React)
- 詳现ãªãããã¡ã€ã«ãšã¢ã¯ãã£ããã£è¿œè·¡ã«ãããŠãŒã¶ãŒç®¡ç
- æŽæ°ããã³è«æ±ã¹ããŒã¿ã¹ã«ãããµãã¹ã¯ãªãã·ã§ã³è¿œè·¡
- ã³ã³ãã³ãã©ã€ãã©ãªç®¡çããã³ãã¥ã¬ãŒã·ã§ã³ããŒã«
- èšå®ããã³ãã©ãããã©ãŒã æ§æ
- äž»èŠææšã«ããããã·ã¥ããŒãåæ
ããã¯ãšã³ãAPI (NestJS)
- ã¢ã¯ã»ã¹/ãªãã¬ãã·ã¥ããŒã¯ã³ããŒããŒã·ã§ã³ãåããJWTèªèšŒ
- è³æ Œæ å ±ããŒã¹ã®èªèšŒãšé£æºããGoogle OAuth2çµ±å
- æ€èšŒããã³éç¥ã®ããã®AWS SESã¡ãŒã«ãµãŒãã¹
- AWS S3ãã¡ã€ã«ã¢ããããŒããšç®¡ç
- ã¬ãŒãå¶éãšã»ãã¥ãªãã£ã¹ããããªã³ã°
- Swagger/OpenAPIããã¥ã¡ã³ã
äž»èŠæ©èœ
- ãã¥ã¢ã«èªèšŒæ¹åŒ - ãŠãŒã¶ãŒã®å©äŸ¿æ§ã®ããã®ã¡ãŒã«/ãã¹ã¯ãŒã + Google OAuth2
- ããŒã¯ã³ããŒããŒã·ã§ã³ - ã»ãã¥ã¢ãªã¢ã¯ã»ã¹/ãªãã¬ãã·ã¥ããŒã¯ã³ç®¡ç
- OTPæ€èšŒ - ã¢ã«ãŠã³ãã»ãã¥ãªãã£ã®ããã®ã¡ãŒã«ããŒã¹ã®æ€èšŒ
- ãµãã¹ã¯ãªãã·ã§ã³è¿œè·¡ - ãµã€ã³ã¢ããããæŽæ°ãŸã§ã®å®å šãªã©ã€ããµã€ã¯ã«ç®¡ç
- ã³ã³ãã³ãã©ã€ãã©ãª - 管çè ããã¥ã¬ãŒã·ã§ã³ããå å ¥è åãã³ã³ãã³ã
- ã¯ãã¹ãã©ãããã©ãŒã - å ±æNestJSããã¯ãšã³ãããã®Flutterã¢ãã€ã« + ReactãŠã§ã
ææ
æè¡ã¹ã¿ãã¯
caseStudyDetail.more ã±ãŒã¹ã¹ã¿ãã£
ãã®ä»ã®æè¡å®è£ äºäŸãã芧ãã ãã
ãªã¢ã«ã¿ã€ã ã¹ã±ãžã¥ãŒãªã³ã°æ©èœä»ããªã³ã©ã€ã³å®¶åºæåž«ãµãã¹ã¯ãªãã·ã§ã³ãã©ãããã©ãŒã
æè²ç³»ã®ã¹ã¿ãŒãã¢ããäŒæ¥ãããµãã¹ã¯ãªãã·ã§ã³ããŒã¹ã§çåŸãšå®¶åºæåž«ãç¹ããã©ãããã©ãŒã ãå¿ èŠãšããŠããŸããããã®ãã©ãããã©ãŒã ã«ã¯ããªã¢ã«ã¿ã€ã ã¹ã±ãžã¥ãŒãªã³ã°ãèªåæ¯æãããããŠã·ãŒã ã¬ã¹ãªäºçŽäœéšãæ±ããããŸããã
AIãæŽ»çšããOCRã«ããè«æ±æžåŠçãšQuickBooks飿º
æ¯ææ°çŸä»¶ã®ä»å ¥å è«æ±æžãåŠçããäžèŠæš¡äŒæ¥ããAI/OCRã䜿çšããŠè«æ±æžããŒã¿ãèªåæœåºãããããèšåž³ãšæ¯æè¿œè·¡ã®ããã«QuickBooksã«çŽæ¥åæãããããšã§ãæåããŒã¿å ¥åãæé€ããå¿ èŠããããŸããã
ãããã質å
MicrocosmWorks ã¯ãStripeãApple App Store Server Notifications V2ãGoogle Play RTDN ããã® webhook ã€ãã³ããèŠç¯çãªã©ã€ããµã€ã¯ã«ã¢ãã«ã«æ£èŠåãããçµ±äžããããµãã¹ã¯ãªãã·ã§ã³ç¶æ ãã·ã³ãæ§ç¯ããŸãããããã«ãããã€ãã³ããã©ã®ãã©ãããã©ãŒã ã§çºçãããã«é¢ããããç¶äºæéã課éå詊è¡ããã£ã³ã»ã«ãäžè²«ããŠåŠçãããããšãä¿èšŒãããŸãã
MicrocosmWorksã¯ããã©ãããã©ãŒã åºæã®è³ŒèªIDãåäžã®ãŠãŒã¶ãŒã¢ã«ãŠã³ãã«ãããã³ã°ããã¯ãã¹ãã©ãããã©ãŒã ã®ãšã³ã¿ã€ãã«ã¡ã³ã飿ºãå®è£ ããŸããããŠã§ãããã·ã¥ããŒãã«ã¯ããã¹ãŠã®ãã©ãããã©ãŒã ããååŸããããªã¢ã«ã¿ã€ã ã®è³Œèªç¶æ³ã衚瀺ãããŸãããè«æ±ã®å€æŽã¯AppleãšGoogleã®ããªã·ãŒã«åŸã£ãŠå ã®ãã©ãããã©ãŒã ã«ã«ãŒãã£ã³ã°ãããŸãã
MicrocosmWorksã¯ãéè²šãææ°æãè¿éãå«ããã©ãããã©ãŒã åºæã®ååŒããŒã¿ãçµ±äžããã財åå ±åãã©ãŒãããã«å€æããåçæ£èŠåã¬ã€ã€ãŒãçµ±åããŸãããããã«ãããéå¶è ã¯å šãŠã®ãµãã¹ã¯ãªãã·ã§ã³ãã£ãã«ã«ãããMRRããã£ãŒã³ãLTVã®ææšãåäžã®ããã·ã¥ããŒãã§ç¢ºèªã§ããŸãã
MicrocosmWorksã¯ã$20ïœ$45/æ ã®æéã§ãã«ããã©ãããã©ãŒã ã®ãµãã¹ã¯ãªãã·ã§ã³ã·ã¹ãã ãæ§ç¯ããŠããããã®è€éãã®ãããžã§ã¯ãã§ã¯ãéåžž500ïœ800æéã®éçºæéãèŠããŸãããã®æè³ã«ã¯ãStripeãAppleãGoogle ã®çµ±åãwebhookã®åŠçããšã³ã¿ã€ãã«ã¡ã³ã管çãããã³ç®¡çããã·ã¥ããŒããå«ãŸããŸãã
MicrocosmWorksã¯ãåããŠãŒã¶ãŒãè€æ°ã®ãã©ãããã©ãŒã ã§ç¡æãã©ã€ã¢ã«ã«ç»é²ããããšãããšãã«æ€åºããcross-platform trial deduplicationãšçµã¿åãããdevice fingerprintingãå®è£ ããŸãããã·ã¹ãã ã¯ãŸããåæã»ãã·ã§ã³å¶éã匷å¶ããç°åžžãªäœ¿çšãã¿ãŒã³ããªãã¬ãŒã¿ãŒã®ã¬ãã¥ãŒã®ããã«ãã©ã°ä»ãããŸãã
ããžãã¹ã®å€é©ã®æºåã¯ã§ããŠããŸããïŒ
ã客æ§ã®èª²é¡ã«é¡äŒŒã®ãœãªã¥ãŒã·ã§ã³ãé©çšããæ¹æ³ã«ã€ããŠè©±ãåããŸãããã