A description of my coding environment

The context

I code simple projects.
Let say that the project is hosted at http://thomasdt.com/myproject
Most of the time, I am the only developper. I code from different platform : iPad, Pc and Mac.

My solution

I will detail here my coding process

I Use dropbox
I work in a folder myproject_dev inside dropbox folder
These is where the last version of my development is located
To edit the file depending on the platform, I use :

I use beanstalkapp (http://beanstalkapp.com) as my private git repository (a free account is ok)

When I would like to test live my code : I push my dev files from my dev folder to beanstalkapp

beanstalkapp keep a version of all my work help my colleagues to review the code.

beanstalkapp is set up to automatically deploy my dev file to a ftp server.

I use ovh and a public dev folder http://thomasdt.com/myproject_dev

This is a php-sql project so :

  • I maintain a duplicate of the public database
  • If you are browsing the application through :
    • http://thomasdt.com/myproject, the php files are pointing to the live database
    • http://thomasdt.com/myproject_dev, the php files are pointing to the test database

When I would like to push the dev to the live site. I commit my files with the keyword: [deploy: production] and the files are also pushed to the production ftp server.

If I need to alter the sql database structure, I do it in a sql.php file rather than in phpmyadmin. This sql.php file is automatically triggered (like a web hook) by beanstalkapp just before deploying the file to the development and production server.

Things I could improve

  • On windows, I am pushing files to git with Git Bash and this is not optimal. I could find a better IDE with integrated git.