ãªã¢ã«ã¿ã€ã ã¹ã±ãžã¥ãŒãªã³ã°æ©èœä»ããªã³ã©ã€ã³å®¶åºæåž«ãµãã¹ã¯ãªãã·ã§ã³ãã©ãããã©ãŒã
æè²ç³»ã®ã¹ã¿ãŒãã¢ããäŒæ¥ãããµãã¹ã¯ãªãã·ã§ã³ããŒã¹ã§çåŸãšå®¶åºæåž«ãç¹ããã©ãããã©ãŒã ãå¿ èŠãšããŠããŸããããã®ãã©ãããã©ãŒã ã«ã¯ããªã¢ã«ã¿ã€ã ã¹ã±ãžã¥ãŒãªã³ã°ãèªåæ¯æãããããŠã·ãŒã ã¬ã¹ãªäºçŽäœéšãæ±ããããŸããã
ãããžã§ã¯ããçžè«ãã
課é¡
ä¿¡é Œæ§ã®é«ãå®¶åºæåž«ãããã³ã°ãã©ãããã©ãŒã ãæ§ç¯ããã«ã¯ãè€æ°ã®çµ±åã«é¢ãã課é¡ã解決ããå¿ èŠããããŸãã:
- ã¹ã±ãžã¥ãŒãªã³ã°ã®è€éã â å®¶åºæåž«ã®ç©ºãç¶æ³ãšçåŸã®äºçŽã調æŽããã«ã¯ããªã¢ã«ã¿ã€ã ã®ã«ã¬ã³ããŒåæãå¿ èŠã§ãã
- 決æžãã㌠â ãµãã¹ã¯ãªãã·ã§ã³ãåçºã®æ¯æããããã³å®¶åºæåž«ãžã®æ¯æããåäžã®æ±ºæžã·ã¹ãã ã§ç®¡çããããš
- èªèšŒ â çåŸãå®¶åºæåž«ã管çè ã®ããã®å®å šãªå€åœ¹å²ã¢ã¯ã»ã¹
- ãã©ãŒã ã®ä¿¡é Œæ§ â è€éãªäºçŽãã©ãŒã ãšãªã³ããŒãã£ã³ã°ãã©ãŒã ã§ã¯ããšã©ãŒãé²ãããŒã¿å質ã確ä¿ããããã®åŒ·åãªæ€èšŒãå¿ èŠã§ãã
- ãªã¢ã«ã¿ã€ã æŽæ° â çåŸãšå®¶åºæåž«ã¯ãäºçŽã®å€æŽããã©ãããã©ãŒã ã®ã€ãã³ãã«ã€ããŠå³åº§ã«ãã£ãŒãããã¯ãåŸãå¿ èŠããããŸãã
ç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³
ç§ãã¡ã¯ãèªèšŒãšãªã¢ã«ã¿ã€ã ããŒã¿ã« Supabase ãããµãã¹ã¯ãªãã·ã§ã³è«æ±ãšå®¶åºæåž«ãžã®æ¯æãã« Stripe ããã¹ã±ãžã¥ãŒãªã³ã°ã« Calendly ã䜿çšããææ°ã® React/TypeScript ããã³ããšã³ãã§æ§ç¯ããããã«ã¹ã¿ãã¯ã®å®¶åºæåž«ãã©ãããã©ãŒã ãéçºããŸããã
ã¢ãŒããã¯ãã£
- ããã³ããšã³ã: React (TypeScriptãTailwindCSSãShadcn/UI ã³ã³ããŒãã³ãã©ã€ãã©ãªã䜿çš)
- ãã«ãããŒã«: Vite (é«ééçºãšæé©åãããæ¬çªãã«ãã®ãã)
- ããã¯ãšã³ã: Supabase Edge Functions (äºçŽãæ¯æãããªã³ããŒãã£ã³ã°ãåŠçããå®å šãª API ãšã³ããã€ã³ãçš)
- ããŒã¿ããŒã¹: Supabase (PostgreSQL) (ãªã¢ã«ã¿ã€ã æŽæ°ã®ããã®ãªã¢ã«ã¿ã€ã ãµãã¹ã¯ãªãã·ã§ã³æ©èœä»ã)
- èªèšŒ: Supabase Auth (圹å²ããŒã¹ã®ã¢ã¯ã»ã¹æ©èœä»ã)
- ã¹ã±ãžã¥ãŒãªã³ã°: Calendly çµ±å (ãªã¢ã«ã¿ã€ã ã®äºçŽåæã®ãã)
- 決æž: Stripe (ãµãã¹ã¯ãªãã·ã§ã³ãåçºã®æ¯æããå®¶åºæåž«ãžã®æ¯æãçš)
- ç¶æ 管ç: Redux Toolkit (ã°ããŒãã«ã¹ããŒãçš)ãReact Query (ãµãŒããŒãµã€ãã¹ããŒãçš)
- ãã©ãŒã ããªããŒã·ã§ã³: React Hook Form (Zod ã¹ããŒãããªããŒã·ã§ã³ã䜿çš)
- ã¢ãã¡ãŒã·ã§ã³: Framer Motion (ãã©ã³ãžã·ã§ã³ãããŒããŒãã¢ãŒãã«çš)
äž»ãªæ©èœ
- ãµãã¹ã¯ãªãã·ã§ã³ã·ã¹ãã â Stripe ãæŽ»çšãããã©ã³ïŒå®æèª²éãšããªãŒãã£ã¢ãµããŒãä»ãïŒ
- ãªã¢ã«ã¿ã€ã ã¹ã±ãžã¥ãŒãªã³ã° â çåŸãšå®¶åºæåž«éã®äºçŽåæã®ããã® Calendly çµ±å
- Supabase Edge Functions â äºçŽãæ¯æãããªã³ããŒãã£ã³ã°ããžãã¯ã®ããã®ãµãŒããŒã¬ã¹ API ãšã³ããã€ã³ã
- ãã©ãŒã ããªããŒã·ã§ã³ â React Hook Form (Zod ã¹ããŒãã«ããéä¿¡ãšã©ãŒé²æ¢)
- å®¶åºæåž«ãžã®æ¯æã â Stripe Connect ãä»ããèªåæ¯æãåŠç
- ã©ã€ãæŽæ° â Supabase ãªã¢ã«ã¿ã€ã ãµãã¹ã¯ãªãã·ã§ã³ïŒå³æã®äºçŽããã³ã¹ããŒã¿ã¹å€æŽçšïŒ
- ã¬ã¹ãã³ã·ããã¶ã€ã³ â Framer Motion ã¢ãã¡ãŒã·ã§ã³ãšã¢ã¯ã»ã·ãã«ãªã¢ãŒãã«ãåããã¢ãã€ã«ãã¬ã³ããªãŒãª UI
- èªåããã〠â å®å®ããäžè²«æ§ã®ãããªãªãŒã¹ãå®çŸããããã® CI/CD ãã€ãã©ã€ã³
ææ
æè¡ã¹ã¿ãã¯
caseStudyDetail.more ã±ãŒã¹ã¹ã¿ãã£
ãã®ä»ã®æè¡å®è£ äºäŸãã芧ãã ãã
ãã«ããã©ãããã©ãŒã ã³ã³ãã³ãïŒãµãã¹ã¯ãªãã·ã§ã³ç®¡çã·ã¹ãã
ã³ã³ãã³ã/ãµãã¹ã¯ãªãã·ã§ã³ãµãŒãã¹ãããã€ããŒã¯ããŠãŒã¶ãŒèªèšŒãã³ã³ãã³ãã©ã€ãã©ãªããµãã¹ã¯ãªãã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ã管çãããããã¢ãã€ã«ãWeb管çãããã¯ãšã³ãã«ãŸãããå®å šãªãã©ãããã©ãŒã ãå¿ èŠãšããŠããŸããã
AIãæŽ»çšããOCRã«ããè«æ±æžåŠçãšQuickBooks飿º
æ¯ææ°çŸä»¶ã®ä»å ¥å è«æ±æžãåŠçããäžèŠæš¡äŒæ¥ããAI/OCRã䜿çšããŠè«æ±æžããŒã¿ãèªåæœåºãããããèšåž³ãšæ¯æè¿œè·¡ã®ããã«QuickBooksã«çŽæ¥åæãããããšã§ãæåããŒã¿å ¥åãæé€ããå¿ èŠããããŸããã
ãããã質å
MicrocosmWorksã¯ããã¹ãŠã®ç©ºãç¶æ³ãUTCã§ä¿åããIANA timezone databaseã䜿çšããŠãŠãŒã¶ãŒã®çŸå°ã¿ã€ã ãŸãŒã³ã§è¡šç€ºããã¹ã±ãžã¥ãŒãªã³ã°ãšã³ãžã³ãæ§ç¯ããŸãããã·ã¹ãã ã¯ãŸãã倿éãžã®ç§»è¡ãèªåçã«åŠçããããã¿ã€ã ãŸãŒã³ã®çåŸãå¥ã®ã¿ã€ã ãŸãŒã³ã®è¬åž«ãæ€çŽ¢ããéã«ãéãªãåãæé垯ã衚瀺ããŸãã
MicrocosmWorksã¯ãåŠçã«å³åº§ã«éç¥ãã該åœããå°éç¥èãæã€å©çšå¯èœãªä»£æ¿ãã¥ãŒã¿ãŒãæäŸããé©åãªä»£æ¿ãèŠã€ãããªãå Žåã¯ã»ãã·ã§ã³ãè¿éããèªååã¹ã±ãžã¥ãŒã«ã¯ãŒã¯ãããŒãèšèšããŸãããç¹°ãè¿ããã£ã³ã»ã«ãããã¥ãŒã¿ãŒã¯ãä¿¡é Œæ§è©äŸ¡ã·ã¹ãã ã§ãã©ã°ãç«ãŠãããŸãã
MicrocosmWorksã¯ãåŠçãæããšã®æéããã¯ãè³Œå ¥ããæå€§60æ¥éç¹°ãè¶ãå¯èœãªãæè»ãªã¯ã¬ãžããããŒã¹ã®ãµãã¹ã¯ãªãã·ã§ã³ã·ã¹ãã ãå°å ¥ããŸããããã®ãã©ãããã©ãŒã ã¯ãStripeã®ãµãã¹ã¯ãªãã·ã§ã³ã¹ã±ãžã¥ãŒãªã³ã°APIãéããŠåŠçãããæ¥å²ãèšç®ã§ã®è«æ±ã«ããããµã€ã¯ã«éäžã§ã®ã¢ããã°ã¬ãŒãããã³ããŠã³ã°ã¬ãŒãããµããŒãããŠããŸãã
ã¯ããMicrocosmWorksã¯ã1察1ã®ã»ãã·ã§ã³ããæå€§8人ãŸã§ã®ã°ã«ãŒãã»ãã·ã§ã³ã«æ¡åŒµã§ããWebRTCãšSFUïŒSelective Forwarding UnitïŒã¢ãŒããã¯ãã£ã䜿çšããŠããããªã€ã³ãã©ãæ§ç¯ããŸãããã°ã«ãŒãã»ãã·ã§ã³ã¯çåŸãããã®ã¯ã¬ãžããæ¶è²»éãå°ãªããæå°è ã®åçãç¶æãã€ã€ãå調åŠç¿ãä¿é²ããŸãã
MicrocosmWorksã¯éåžžã1æéããã$15ïœ$40ã®éçºã¬ãŒãã§å奿å°ãã©ãããã©ãŒã ãæäŸããŠããããããªçµ±åãã¹ã±ãžã¥ãŒã«ãæ¯æãããã¥ãŒã¿ãŒãããã³ã°ãå«ãå šç¯å²ã«ã¯600ïœ900æéãå¿ èŠã§ããWebRTCã€ã³ãã©ã¹ãã©ã¯ãã£ã¯è²»çšå¯Ÿå¹æã®é«ãã¯ã©ãŠãã€ã³ã¹ã¿ã³ã¹ã«å±éã§ãããããç¶ç¶çãªéçšã³ã¹ããäœãæããããšãã§ããŸãã
ããžãã¹ã®å€é©ã®æºåã¯ã§ããŠããŸããïŒ
ã客æ§ã®èª²é¡ã«é¡äŒŒã®ãœãªã¥ãŒã·ã§ã³ãé©çšããæ¹æ³ã«ã€ããŠè©±ãåããŸãããã