Laravel ïŒ React.js ã®åŠç¿çšãµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã§ãã
- LaravelãåããŠåŠç¿ããŠã¿ããæ¹
- Dockerãå©çšããLaravelã®éçºç°å¢ãæ§ç¯ãããæ¹
- ECãµã€ããåŠç¿ããŠã¿ããæ¹
- ããã³ããšç®¡çç»é¢ã§èªèšŒãå¥ãããïŒãã«ããã°ã€ã³ïŒããããæ¹
- Stripeãå©çšããæ±ºç®åŠçãäœæããŠã¿ããæ¹
- ãœãŒã·ã£ã«ãã°ã€ã³ãäœæããŠã¿ããæ¹
- ç»åã®ç®¡çãS3ãªã©ã®ãªããžã§ã¯ãã¹ãã¬ãŒãžã«ãããæ¹
- ããã³ããšã³ããReact.jsã§äœæããŠã¿ããæ¹
- Apache 2.4.46ãã»ã»ã»ãWebãµãŒããŒãšããŠApacheãæ¡çšããŸãããèªå·±èšŒææžãèšå®æžã¿ãªã®ã§éçºç°å¢ã§SSLãšããŠåäœå¯èœã§ãã
- MySQL 8ãã»ã»ã»ãDBãµãŒããŒã«ã¯MySQLãæ¡çšããŸãããããŒã¿ãã¡ã€ã«ãèšå®ãã¡ã€ã«ã ãã°ãªã©ã¯ã³ã³ããã®å€ã«åºã㊠éçºæã«åç §åºæ¥ãããã«ããŠããŸãã
- phpMyAdminãã»ã»ã»ãèµ·åããMySQLã®ããŒã¿ãåç §ã»ç·šéããããã®ããŒã«ã§ãã
- MailHog ãã»ã»ã»ããããŒã®SMTPãµãŒããŒã§ããéä¿¡ããã¡ãŒã«ããã©ãŠã¶ã§é²èЧããããšãå¯èœã§ããå®éã«ã¯ã¡ãŒã«ã¯éä¿¡ãããªãã®ã§éçºæã®èª€éä¿¡ããŠããŸãå¿é ããããŸããã
- Minio ãã»ã»ã»ãS3ã«å®å šäºææ§ã®ãããªããžã§ã¯ãã¹ãã¬ãŒãžã§ããã¢ããããŒãããç»åã®ä¿åå ãšããŠå©çšããŠããŸãã
- Laravel 12
- React 18
- Typescript
- Adminlte 3
- Bootstrap 4
- ãã°ã€ã³/ãã°ã¢ãŠã
- äŒå¡ç»é²
- ãã¹ã¯ãŒããªãã€ã³ã
- ååäžèЧ
- ã«ãŒãã«è¿œå
- 決ç®åŠçïŒ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
âââ 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
âââ dc.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
Usage:
dc.sh [command] [<options>]
Options:
stats|st Dockerã³ã³ããã®ç¶æ
ã衚瀺ããŸãã
logs Dockerã³ã³ããã®ãã°ã衚瀺ããŸãã
init Dockerã³ã³ããã»ã€ã¡ãŒãžã»çæãã¡ã€ã«ã®ç¶æ
ãåæåããŸãã
start ãã¹ãŠã®Daemonãèµ·åããŸãã
stop ãã¹ãŠã®Daemonã忢ããŸãã
apache restart Apacheãåèµ·åããŸãã
mysql login MySQLããŒã¿ããŒã¹ã«ãã°ã€ã³ããŸãã
mysql export <PAHT> MySQLããŒã¿ããŒã¹ã®dumpãã¡ã€ã«ããšã¯ã¹ããŒãããŸãã
mysql import <PAHT> MySQLããŒã¿ããŒã¹ã«dumpãã¡ã€ã«ãã€ã³ããŒãããŸãã
php login PHP-FPMã®ãµãŒããŒã«ãã°ã€ã³ããŸãã
php test Laravelã®ãã¹ãã³ãŒããå®è¡ããŸãã
--version, -v ããŒãžã§ã³ã衚瀺ããŸãã
--help, -h ãã«ãã衚瀺ããŸãã
åçš®ããŒã¢ã³ãèµ·åãã
# åæååŠçïŒååã®ã¿ãç°å¢ããªã»ãããããå Žåã«å®è¡ããïŒ
$ ./dc.sh init
# Dockerã§ããŒã«ã«ç°å¢ã«åçš®ããŒã¢ã³ãæ§ç¯ã»èµ·åãã
$ ./dc.sh start
# ããŒã¿ããŒã¹ãšPHPãç«ã¡äžãããŸã§å°ãåŸ
ã¡ãŸãã(ååã¯5åçšåºŠ)
# MySQLã«ãã°ã€ã³ããŠã¿ã
$ ./dc.sh mysql login
# PHPãµãŒããŒã«ãã°ã€ã³ããŠã¿ã
$ ./dc.sh php login
# èµ·åã«åé¡ãããå Žåã¯ã以äžã®ã³ãã³ãã§ç¶æ³ã確èªããŠã¿ãŠãã ããã
$ ./dc.sh st
$ ./dc.sh logs
minioã«ãã±ãããäœæããŠãå€éšã¢ã¯ã»ã¹å¯èœãªç¶æ ã«ããã
ãã¡ããã以äžã®ID/ãã¹ã¯ãŒãã§ãã°ã€ã³åŸããlaraec.isystk.comããšããååã®ãã±ãããäœæããŸãã äœæåŸãManage ãã Access Policy ããPublicãã«å€æŽããŠãã±ããå ãã¡ã€ã«ãå€éšåç §å¯èœãªç¶æ ã«å ¬éããŸãã
Username | Password |
---|---|
admin | password |
åäœç¢ºèª
# PHPãµãŒããŒã«ãã°ã€ã³ããŠã¿ãïŒcomposer ã artisan ãªã©ã®ã³ãã³ãã¯åºæ¬çã«ããã§è¡ãïŒ
$ ./dc.sh php login
# Larastan ãå®è¡ããŠã³ãŒãããã§ãã¯ãã
> ./vendor/bin/phpstan analyse --memory-limit=1G
# PHPUnit ã§ãã¹ãã³ãŒããå®è¡ãã
> ./vendor/bin/phpunit tests
# ãã¹ãçšã®ååç»åãS3ïŒMinioïŒã«ã¢ããããŒã
> php artisan s3upload
ãã©ãŠã¶ã§ã¢ã¯ã»ã¹ïŒããã³ãïŒ
ãã©ãŠã¶ã§ã¢ã¯ã»ã¹ïŒç®¡çç»é¢ïŒ
ãµãŒããŒã忢ããå Žå
$ ./dc.sh stop
ãããŒã®ã¡ãŒã«ãµãŒããŒã§ããå®éã«ã¯ã¡ãŒã«ã¯éä¿¡ããããéä¿¡ãããã¡ãŒã«ã¯ãã©ãŠã¶ã§é²èЧã§ããŸãã Dockerãèµ·ååŸã«ä»¥äžã®URLã«ã¢ã¯ã»ã¹ãããšå©çšå¯èœã§ãã
S3ã«æºæ ãããããŒã®ãªããžã§ã¯ãã¹ãã¬ãŒãžã§ãã Dockerãèµ·ååŸã«ä»¥äžã®URLã«ã¢ã¯ã»ã¹ãããšå©çšå¯èœã§ãã
ããŒã¿ããŒã¹ã«æ¥ç¶ããŠããŒã¿ã®åç §ãç·šéãå¯èœã§ãã Dockerãèµ·ååŸã«ä»¥äžã®URLã«ã¢ã¯ã»ã¹ãããšå©çšå¯èœã§ãã
ãããžã§ã¯ã | æŠèŠ |
---|---|
Laravel12å ¬åŒããã¥ã¡ã³ã | Laravel11å ¬åŒããã¥ã¡ã³ãã§ãã |
React Hooks å š19çš®ã®è§£èª¬ãšãµã³ãã« | Laravel11以éãã䜿ãå§ãã人ã«å¿ èŠãããªè³ªåãšåçäžèЧ |