# Project example.com > A README template for a new (Drupal) project. Should probably be commited to git! | Key | Value | | :-------------- | :------------------------------------- | | -- **Customer** -- | **Customer name here** | | Website | [customer.example.com](https://customer.example.com) | | Contacts | `Customer name here and maybe email` | | -- **Agency** -- | **NAME OF THE AGENCY HERE** | | Website | [theodorosploumis.com](https://www.theodorosploumis.com) | | Contacts | Theodoros Ploumis | | -- **Project** --| **`Project title here with Drupal version`** | | Dates (development) | 01/01/2021 - 31/10/2021 | | PM/Tasks | `link to your online PM tool here` | | Wiki | `link to your online Wiki tool here` | | Chat channel | `link to your Chat tool here (eg Slack)` | | Git repository | [git@bitbucket.org:example/example.git](https://bitbucket.org/example/example) | | Server | `link to your Server provider or dashboard here` | | DNS | `link to your DNS provider or dashboard here` | | SMTP | `link to your DNS provider or dashboard here` | | Site: dev branch | <http://dev.example.com> (webroot `/home/www-data/example.com/dev/web`) | | Site: stage branch | <http://stage.example.com> (webroot `/home/www-data/example.com/stage/web`) | | Site: master branch | <http://prod.example.com> (webroot `/home/www-data/example.com/prod/web`) | | Htpasswd | `link to your Password provider or file here` | | Drupal admin | `link to your Password provider or file here` | | Database dump UI | `No UI, use only cli` | | CI/CD dashboard | `link to CI/CD dashboard or settings files here`| | Contributors | `Add the humans (Names, emails etc) that worked for this Project` | ## About A basic introduction about this project... ## Setup Details about setup and installation ### Installation Install normally. Select "Install Drupal form existing configuration" option. ### Settings & Environmental Variables Examples and notes about settings.php files and configuration. ## Development & Deployment Example of steps. 1. Always have a fresh **working** copy of the repository. 2. Download a fresh database backup from the server and import it to your local environment. Alternatively, use drush commands to sync. 3. Export configuration **immediately** and commit what makes sense, eg: config that could have been changed by the client. 4. Do your magic! 5. Export configuration **again** to include your **new** changes and commit it. 6. Push to Bitbucket/GitHub/Gitlab: **dev** branch. 7. **Visit `/en/admin/config/development/configuration` to import configuration.** 8. **Run DB updates!** 9. Verify all is ok. 10. Merge **dev** to **stage** to trigger a deployment to the Stage site and **run steps 7 and 10** again for the Stage site. ## Online workflow commands ``` ssh ... cd [ROOT_PATH] git pull composer install drush updb cd web drush cim drush cr ``` ### Database commands ``` // Export db mysqldump db_name > backup-file.sql // Import db mysql db_name < backup-file.sql mysql -p -u [user] [database] < backup-file.sql ``` ### Development (Dev) Site Details about development instance (if exists). Show information about: ssh, url, drush site-alias, htaccess credentials etc. ### Preview (Stage) Site Details about staging instance (if exists). ### Production Site Details about production instance. ## Other notes