Laravel ïŒ React.js ã®åŠç¿çšãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã§ãã
- LaravelãåããŠåŠç¿ããŠã¿ããæ¹
- Dockerãå©çšããLaravelã®éçºç°å¢ãæ§ç¯ãããæ¹
- ECãµã€ããåŠç¿ããŠã¿ããæ¹
- ããã³ããšç®¡çç»é¢ã§èªèšŒãå¥ãããïŒãã«ããã°ã€ã³ïŒããããæ¹
- Stripeãå©çšããæ±ºç®åŠçãäœæããŠã¿ããæ¹
- ãœãŒã·ã£ã«ãã°ã€ã³ãäœæããŠã¿ããæ¹
- ç»åã®ç®¡çãS3ãªã©ã®ãªããžã§ã¯ãã¹ãã¬ãŒãžã«ãããæ¹
- ããã³ããšã³ããReact.jsã§äœæããŠã¿ããæ¹
- Apache 2.4.46ãã»ã»ã»ãWebãµãŒããŒãšããŠApacheãæ¡çšããŸãããèªå·±èšŒææžãèšå®æžã¿ãªã®ã§éçºç°å¢ã§SSLãšããŠåäœå¯èœã§ãã
- MySQL 8ãã»ã»ã»ãDBãµãŒããŒã«ã¯MySQLãæ¡çšããŸãããããŒã¿ãã¡ã€ã«ãèšå®ãã¡ã€ã«ã ãã°ãªã©ã¯ã³ã³ããã®å€ã«åºã㊠éçºæã«åç §åºæ¥ãããã«ããŠããŸãã
- adminerãã»ã»ã»ãèµ·åããMySQLã®ããŒã¿ãåç §ã»ç·šéããããã®ããŒã«ã§ãã
- mailpit ãã»ã»ã»ããããŒã®SMTPãµãŒããŒã§ããéä¿¡ããã¡ãŒã«ããã©ãŠã¶ã§é²èЧããããšãå¯èœã§ããå®éã«ã¯ã¡ãŒã«ã¯éä¿¡ãããªãã®ã§éçºæã®èª€éä¿¡ããŠããŸãå¿é ããããŸããã
- Minio ãã»ã»ã»ãS3ã«å®å šäºææ§ã®ãããªããžã§ã¯ãã¹ãã¬ãŒãžã§ããã¢ããããŒãããç»åã®ä¿åå ãšããŠå©çšããŠããŸãã
- Laravel 12
- React 19
- Typescript
- Adminlte 3
- ãã°ã€ã³/ãã°ã¢ãŠã
- äŒå¡ç»é²
- ãã¹ã¯ãŒããªãã€ã³ã
- ååäžèЧ
- ã«ãŒãã«è¿œå
- 決ç®åŠçïŒStripeïŒ
- ãæ°ã«å ¥ã远å
- ãåãåãã
- ãœãŒã·ã£ã«ãã°ã€ã³ïŒGoogleïŒ
graph LR classDef default fill: #fff,stroke: #333,stroke-width: 1px; style funcA fill: #fff,stroke: #333,stroke-width: 1px; style funcB fill: #fff,stroke: #333,stroke-width: 1px; style funcC fill: #fff,stroke: #333,stroke-width: 1px; style funcD fill: #fff,stroke: #333,stroke-width: 1px; style header fill: #fff,stroke: #333,stroke-width: 1px; TOP-->ãã°ã€ã³--ID/ãã¹ã¯ãŒãèªèšŒ-->ãã€ã«ãŒã TOP-->ãåãåããå
¥å ãã°ã€ã³-->äŒå¡ä»®ç»é² ãã°ã€ã³-->ãã¹ã¯ãŒããªã»ãã subgraph funcA [åå賌å
¥] ãã€ã«ãŒã-->åå賌å
¥å®äº end subgraph funcB [äŒå¡ç»é²] äŒå¡ä»®ç»é²-->äŒå¡ä»®ç»é²å®äº--ã¡ãŒã«éä¿¡-->äŒå¡ç»é²å®äº end subgraph funcC [ãã¹ã¯ãŒããªã»ãã] ãã¹ã¯ãŒããªã»ãã--ã¡ãŒã«éä¿¡-->ãã¹ã¯ãŒãå€æŽ end subgraph funcD [ãåãåãã] ãåãåããå
¥å-->ãåãåããå®äº end subgraph header [ããã] ãã€ã«ãŒã ãåãåããå
¥å ãã°ã¢ãŠã end https://laraec.isystk.com/admin/
- ãã°ã€ã³/ãã°ã¢ãŠã
- åå管ç
- 泚æå±¥æŽ
- 顧客管ç
- ãåãåãã管ç
- ç»å管ç
- CSVããŠã³ããŒã
- PDFããŠã³ããŒã
- ç»åã¢ããããŒã
- æå¥å£²äžéé¡åºåããã
- S3ååç»åã¢ããããŒãããã
. âââ .circleci â âââ config.yml âââ app â âââ Console (ããã) â âââ DomainïŒãã¡ã€ã³å±€ïŒ â â âââ EntitiesïŒãšã³ãã£ãã£ïŒ â â âââ RepositoriesïŒãªããžããªãŒïŒ â âââ Enums (宿°) â âââ Exceptions (äŸå€åŠç) â âââ FileIO (ã€ã³ããŒãã»ãšã¯ã¹ããŒã) â âââ Http ïŒãã¬ãŒã³ããŒã·ã§ã³å±€ïŒ â âââ Jobs ïŒJob QueueïŒ â âââ Mail ïŒã¡ãŒã«ïŒ â âââ Observers ïŒãªããµãŒããŒïŒ â âââ ProvidersïŒãµãŒãã¹ãããã€ããŒïŒ â âââ ServicesïŒããžãã¹ããžãã¯ïŒ â âââ UtilsïŒå
±éãŠãŒãã£ã«ïŒ âââ bootstrap â âââ app.php â âââ cache â âââ providers.php âââ config â âââ app.php â âââ auth.php â âââ breadcrumbs.php â âââ cache.php â âââ const.php â âââ database.php â âââ filesystems.php â âââ logging.php â âââ mail.php â âââ queue.php â âââ services.php â âââ session.php âââ database â âââ factories â âââ migrations â âââ seeders âââ docker â âââ app â âââ docker-compose.yml â âââ mysql â âââ adminer âââ documentsïŒããã¥ã¡ã³ãé¢é£ïŒ âââ public â âââ .htaccess â âââ assets â â âââ adminïŒç®¡çç»é¢çšã®JavaScriptãSASSïŒ â â âââ frontïŒããã³ãç»é¢çšã®TypeScript,SASSïŒ â âââ build â âââ favicon.ico â âââ index.php â âââ robots.txt âââ resources â âââ assets â âââ lang â âââ views âââ routes â âââ breadcrumbs â âââ console.php â âââ web.php âââ storage â âââ app â âââ framework â âââ logs â âââ test âââ tests â âââ Feature â âââ TestCase.php â âââ Unit âââ run.sh ïŒDockerã®æäœçšã¹ã¯ãªããïŒ â» ãã®ç°å¢ãå©çšããçºã«ã¯ãäºåã«dockerãdocker-composeãåäœããç¶æ ã§ããããšãåææ¡ä»¶ã§ãã Github CodeSpace ãå©çšããå Žåã¯ãDockerã®èµ·åããé²ããŠãã ããã
åè https://docs.microsoft.com/ja-jp/windows/wsl/install
WSLã§Ubuntuãèµ·åãã
# ååèµ·åæã«ããŠãŒã¶åãšãã¹ã¯ãŒããèãããŸãã # äœãå
¥åããã«EnterãæŒããšroot ãŠãŒã¶ãŒã§å©çšã§ããããã«ãªãã®ã§ãrootãŠãŒã¶ãŒãšããŠèšå®ããŸãã # åãã«ã©ã€ãã©ãªãææ°åããŸãã $ apt update # æ¥æ¬èªã«å¯Ÿå¿ããŠãããŸãã $ apt -y install language-pack-ja $ update-locale LANG=ja_JP.UTF8 $ apt -y install manpages-ja manpages-ja-dev # DockerãšDocker Composeãã€ã³ã¹ããŒã«ããã $ apt install -y docker-ce docker-compose $ service docker start # åæååŠçïŒååã®ã¿ãç°å¢ããªã»ãããããå Žåã«å®è¡ããïŒ $ ./run.sh init # Dockerãèµ·åããŠåãµãŒããŒãæ§ç¯ãã $ ./run.sh start # ãµãŒããŒãç«ã¡äžãããŸã§å°ãåŸ
ã¡ãŸãã(ååã¯5åçšåºŠ) # MySQLã«ãã°ã€ã³ããŠã¿ã $ ./run.sh mysql login # WebãµãŒããŒã«ãã°ã€ã³ããŠã¿ã $ ./run.sh app login # èµ·åã«åé¡ãããå Žåã¯ã以äžã®ã³ãã³ãã§ç¶æ³ã確èªããŠã¿ãŠãã ããã $ ./run.sh st $ ./run.sh logs # WebãµãŒããŒã«ãã°ã€ã³ããïŒcomposer ã npm ãªã©ã®ã³ãã³ãã¯åºæ¬çã«ããã§è¡ãïŒ $ ./run.sh app login # Larastan ãå®è¡ããŠã³ãŒãããã§ãã¯ãã > ./vendor/bin/phpstan analyse --memory-limit=1G # PHPUnit ã§ãã¹ãã³ãŒããå®è¡ãã > ./vendor/bin/phpunit tests # React ã®ãã¹ãã³ãŒããå®è¡ãã > npm run test # ãã¹ãçšã®ååç»åãS3ïŒMinioïŒã«ã¢ããããŒã > php artisan s3upload ãã©ãŠã¶ã§ã¢ã¯ã»ã¹ïŒããã³ãïŒ
ãã©ãŠã¶ã§ã¢ã¯ã»ã¹ïŒç®¡çç»é¢ïŒ
ãµãŒããŒã忢ããå Žå
$ ./run.sh stop ãããŒã®ã¡ãŒã«ãµãŒããŒã§ããå®éã«ã¯ã¡ãŒã«ã¯éä¿¡ããããéä¿¡ãããã¡ãŒã«ã¯ãã©ãŠã¶ã§é²èЧã§ããŸãã Dockerãèµ·ååŸã«ä»¥äžã®URLã«ã¢ã¯ã»ã¹ãããšå©çšå¯èœã§ãã
S3ã«æºæ ãããããŒã®ãªããžã§ã¯ãã¹ãã¬ãŒãžã§ãã Dockerãèµ·ååŸã«ä»¥äžã®URLã«ã¢ã¯ã»ã¹ãããšå©çšå¯èœã§ãã
以äžã®ID/ãã¹ã¯ãŒãã§ãã°ã€ã³ãå¯èœã§ãããlaraec.isystk.comããšããååã®ãã±ãããååšããŸãã Access Policy ããPublicãã«ããŠããã®ã§å€éšããåç §å¯èœã«å ¬éãããŠããŸãã
| Username | Password |
|---|---|
| admin | password |
ããŒã¿ããŒã¹ã«æ¥ç¶ããŠããŒã¿ã®åç §ãç·šéãå¯èœã§ãã Dockerãèµ·ååŸã«ä»¥äžã®URLã«ã¢ã¯ã»ã¹ãããšå©çšå¯èœã§ãã
Reactã§äœæãããã³ã³ããŒãã³ãã®ç¢ºèªãå¯èœã§ãã Dockerãèµ·ååŸã«ä»¥äžã®URLã«ã¢ã¯ã»ã¹ãããšå©çšå¯èœã§ãã
| çš®é¡ | ãªã³ã¯ |
|---|---|
| ã³ãŒãã£ã³ã°èŠçŽ | Laravel ã³ãŒãã£ã³ã°èŠçŽ |
| ã³ãŒãã£ã³ã°èŠçŽ | React ã³ãŒãã£ã³ã°èŠçŽ |
| å ¬åŒãµã€ã | Laravel12å ¬åŒããã¥ã¡ã³ã |
| å ¬åŒãµã€ã | Tailwind CSS ããã¥ã¡ã³ã |
| åèãµã€ã | React Hooks å š19çš®ã®è§£èª¬ãšãµã³ãã« |



