Alright I'll give you an overview of my workflow as well.
- Main machine (desktop):
- Some HP EliteDesk computer I won at a competition
- 8 GB ram, SSD
- Dual 24" full hd screens
- Secondary machine (laptop):
- MacBookAir 13"
- 8 GB ram, SSD
Software on both machines
- Ubuntu 16.04
- Other text editors when PHPStorm is too heavy: gedit, VSCode, Bluefish
- Apache, PHP, Mysql installed locally
- Composer, Yarn
I have a Flarum install in
/var/www/flarum that I serve via Apache. This install is configured with a
workbench directory where all my extensions are. I plan to change this now that I can use the PHP dev server with Flarum. I usually try to store my projects as
When starting a new extension, I simply clone an existing extension in my
workbench folder. I choose the one which has the most re-usable things for the new project. I then copy other files from other extensions until I have everything I need that already exist.
Then I do some cleanup, I delete the
.git data, change the namespaces, remove content from the
When working on a project I always have a ton of tabs open in my browser. I usually have multiple tabs for Flagrow core as it's my main source of documentation, but also many tabs for other Flagrow projects I'm copying code from.
I commit via the editor I'm using (PHPStorm or VS Code), but I usually use the command line for every other git, gulp, yarn or composer operation.
When testing something, I use a combination of Firefox Private Browsing and Chrome windows to access my app via multiple users at once. I also often launch a ton of PHP dev servers with different configurations, but this does not apply so much to Flarum.
When an extension is ready and published, I have a second local Flarum install with no workbench where I check the composer packages are working.
Oh, and music: I'm usually tuned to Radio Paradise, which is a great web radio with no ads, but I also use Spotify when I want some change (but I'm on a free account so it sucks)
I feel like I'm missing a lot of steps in there, but I already wanted to share this 😄