diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2ce18d4f3ab9b5b1d9ad87fa61dabf4cb9dfa269 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.env +.php_cs.cache +composer.lock +.idea/ +.database/ \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..5c98b428844d9f7d529e2b6fb918d15bf072f3df --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000000000000000000000000000000000000..e6cba97526715ab3d93c24c5eefbc50204cf8c08 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,39 @@ +<component name="InspectionProjectProfileManager"> + <profile version="1.0"> + <option name="myName" value="Project Default" /> + <inspection_tool class="MessDetectorValidationInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true"> + <option name="customRulesets"> + <list> + <RulesetDescriptor> + <option name="name" value="My first PHPMD rule set" /> + <option name="path" value="$PROJECT_DIR$/../../../../Tools/Configurations/phpmd.xml" /> + </RulesetDescriptor> + </list> + </option> + </inspection_tool> + <inspection_tool class="PhpAssignmentInConditionInspection" enabled="true" level="WARNING" enabled_by_default="true" /> + <inspection_tool class="PhpCSValidationInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true"> + <option name="CODING_STANDARD" value="PSR2" /> + <option name="USE_INSTALLED_PATHS" value="true" /> + <option name="INSTALLED_PATHS" value="$PROJECT_DIR$/../../../../Tools/Configurations" /> + <option name="CHECK_JS" value="false" /> + <option name="CHECK_CSS" value="false" /> + <option name="EXTENSIONS" value="php,inc" /> + </inspection_tool> + <inspection_tool class="PhpDivisionByZeroInspection" enabled="true" level="WARNING" enabled_by_default="true" /> + <inspection_tool class="PhpFullyQualifiedNameUsageInspection" enabled="false" level="WARNING" enabled_by_default="false" /> + <inspection_tool class="PhpMethodOrClassCallIsNotCaseSensitiveInspection" enabled="true" level="WARNING" enabled_by_default="true" /> + <inspection_tool class="PhpMissingDocCommentInspection" enabled="true" level="WARNING" enabled_by_default="true"> + <option name="CHECK_FIELD" value="true" /> + <option name="SKIP_EMPTY_FUNCTION" value="false" /> + <option name="SKIP_EMPTY_METHOD" value="false" /> + </inspection_tool> + <inspection_tool class="PhpMultipleClassesDeclarationsInOneFile" enabled="true" level="WARNING" enabled_by_default="true" /> + <inspection_tool class="PhpShortOpenTagInspection" enabled="true" level="WARNING" enabled_by_default="true" /> + <inspection_tool class="PhpTooManyParametersInspection" enabled="true" level="WARNING" enabled_by_default="true" /> + <inspection_tool class="PhpTraditionalSyntaxArrayLiteralInspection" enabled="true" level="WARNING" enabled_by_default="true" /> + <inspection_tool class="PhpUnnecessaryFullyQualifiedNameInspection" enabled="false" level="WARNING" enabled_by_default="false" /> + <inspection_tool class="PhpVariableVariableInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true" /> + <inspection_tool class="TranslationMissingInspection" enabled="false" level="WARNING" enabled_by_default="false" /> + </profile> +</component> \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..28a804d8932aba40f168fd757a74cb718a955a1a --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="JavaScriptSettings"> + <option name="languageLevel" value="ES6" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..e34b5ea0d6cd6211eba29a22dcc1b5c04ac10d30 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/.idea/sw-project-skeleton.iml" filepath="$PROJECT_DIR$/.idea/sw-project-skeleton.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/.idea/sw-project-skeleton.iml b/.idea/sw-project-skeleton.iml new file mode 100644 index 0000000000000000000000000000000000000000..c956989b29ad0767edc6cf3a202545927c3d1e76 --- /dev/null +++ b/.idea/sw-project-skeleton.iml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="WEB_MODULE" version="4"> + <component name="NewModuleRootManager"> + <content url="file://$MODULE_DIR$" /> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..4a8ef9ad2479815289f7eaa2a3ca6d0b3b4d7e0c --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> + <mapping directory="$PROJECT_DIR$/composer-project" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9e0350fab18913f05e5e0d8f7113412ae97945f1 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +# riconet´s TYPO3 project skeleton + +## Need to know + +This project is not tested under windows. + +## Description + +This composer project was created, to ease the process of creating a new TYPO3 Project. +This setup contains the commonly used files and folders, +to get started and a development environment, based on docker. + +## How to create a new project / How to use this project + +Open your shell and navigate to the destination of your upcoming extension. +Execute the following command and remember to define a name for your extension. + +```bash +composer create-project riconet/t3-project-skeleton:TYPO3_VERSION PROJECT_NAME +``` + +## Installation + +After you´ve run the ``composer create-project ...`` command, +navigate in the root of the newly create project and run the following command: + +```bash +bin/init.sh +``` + +This will install a fresh TYPO3 and start the containers. +You have to do this only once, next time, if you want to start the containers, +run `docker-compose up` and to stop them run `docker-compose down`. + +## Info + +### Scripts + +This project comes with some scripts, to ease the work, with this configuration. +You can find them in ``bin``. + +All scripts are written for linux/mac os (.sh) and windows (.bat). + +| file (.sh / .bat) | Description | +|---|---| +| **init** | Initializes a fresh TYPO3 instance. | +| **clear-cache** | Clears the cache of your TYPO3 | +| **update-composer** | Updates composer. | +| **update-database** | Updates the database schema. | + +### Admin user + +| Field | Value | +|---|---| +| **username** | demo | +| **password** | demo | + +### Database + +| Field | Value | +|---|---| +| **database** | application | +| **host** | db | +| **user** | user | +| **password** | 3306 | +| **port** | 3306 | + +### composer.json in app folder + +Don't forget to change the values 'name' and 'description' to the proper values for the customer. + +### Import SQL in to the docker container. + +```bash +cat FILENAME.sql | docker exec -i db /usr/bin/mysql -u root --password=1234 application +``` + +## Tests + +coming soon... \ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..098455f8bdead33f94687b1abfc1426bc67488d2 --- /dev/null +++ b/composer.json @@ -0,0 +1,23 @@ +{ + "name": "riconet/sw-project-skeleton", + "type": "project", + "description": "This project contains a skeleton for a SHOPWARE project.", + "homepage": "https://git.riconnect.de/riconet-public/shopware/sw-project-skeleton", + "license": [ + "GPL-3.0+" + ], + "require": { + "php": "^7.0" + }, + "config": { + "platform": { + "php": "7.0" + } + }, + "scripts": { + "post-create-project-cmd": [ + "php -f ./Install/build.php" + ] + }, + "minimum-stability": "dev" +} \ No newline at end of file