Skip to content

xsuntel/symfony-scripts

Repository files navigation

README

This project includes some shell-scripts for Full-Stack developer to develop a web application using Symfony Framework

Environment

  • 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)

Platform

  • Linux - Ubuntu
  • MacOS
  • Windows - WSL2

Project

  • 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

Dev Environment

Requirement

  • 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

Work Directory

  • 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

Deployment

MCP Servers

  • 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"
          }
        }
      }
    }

Prod Environment

Public Cloud

Tools

Reference

License

This is available under the MIT License.

About

PHP - Symfony Framework for IDE

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors