This project includes some shell-scripts for Full-Stack developer to develop a web application using Symfony Framework
-
Dev
- App : PHP - Symfony Framework
- Cache : Redis
- Database : PostgreSQL
- Message : RabbitMQ, Redis
- Server : Nginx, Apache
- Utility : Git, Docker
- Tools : PhpStorm, VSCode
-
Prod
- AWS (Amazon Web Services)
- GCP (Google Cloud Platform)
- NCloud (Naver Cloud Platform)
- Linux - Ubuntu
- MacOS
- Windows - WSL2
- Directory Structure
.
├── app/
│ ├─ assets/
│ ├─ bin/
│ │ └─ console
│ ├─ config/
│ │ ├─ packages/
│ │ ├─ routes/
│ │ └─ services.yaml
│ ├─ migrations/
│ ├─ public/
│ │ ├─ build/
│ │ └─ index.php
│ ├─ src/
│ │ ├─ ApiResource/
│ │ ├─ Command/
│ │ ├─ Controller/
│ │ ├─ DataFixtures/
│ │ ├─ Entity/
│ │ ├─ EventSubscriber/
│ │ ├─ Form/
│ │ ├─ Repository/
│ │ ├─ Security/
│ │ ├─ Twig/
│ │ └─ Kernel.php
│ ├─ templates/
│ ├─ tests/
│ ├─ translations/
│ ├─ var/
│ │ ├─ cache/
│ │ └─ log/
│ └─ vendor/
├── diagram/
│ ├── base/
│ ├── containers/
│ └── deploy/
├── scripts/
│ ├── base/
│ ├── containers/
│ └── deploy/
├── tools/
│ ├── ai/
│ └── ide/
├── .env.base
├── .env.dev
├── .env.prod
├── .gitattributes
├── .gitignore
├── .shellcheckrc
├── LICENSE
└── README.md
-
Update your name and email for Git
git config --global user.name "{Your Name}"git config --global user.email "{Your Email}"git config --global init.defaultBranch main git config --global credential.helper store git config --global --list
-
Create a folder (example)
mkdir -p ~/Repositories mkdir -p ~/Repositories/GitHub cd ~/Repositories/GitHub
-
Download this project
git clone https://github.com/xsuntel/symfony-scripts.git
cd symfony-scripts && find ./scripts/ -type f -name "*.sh" -exec chmod 775 {} \;
-
Update default variables : TimeZone / Symfony Releases
vi env.app # >>>> Platform PLATFORM_TIMEZONE="{Your TimeZone}" # >>>> Project PROJECT_DOMAIN="{Your Web domain}" # >>>> PHP SYMFONY_VERSION="{Symfony Releases}" -
Create a new webapp : Installing & Setting up the Symfony Framework
./tools/ide/tutorial.sh
-
GitHub - Settings / Developer settings / Personal access tokens / Tokens (classic) - repo (only)
claude mcp add -s user --transport http github https://api.githubcopilot.com/mcp --header "Authorization: Bearer YOUR_GITHUB_PAT"vi ~/.claude.json{ "mcpServers": { "github": { "type": "http", "url": "https://api.githubcopilot.com/mcp", "headers": { "Authorization": "Bearer YOUR_GITHUB_PAT" } } } }
- AWS (Amazon Web Services) - ECS
- GCP (Google Cloud Platform) - Cloud Run
- NCloud (Naver Cloud Platform) - VM
- AI
- Anthropic - Claude Code
- Google - Gemini Code Assist
- GitHub - Copilot
- IDE
This is available under the MIT License.