Modern App Development Workflow. git, cloud, laptop, PC, server
This is advice for anyone developing source code and want an efficient way of splitting projects but retaining a lot of the benefits of your #templates.
You could apply this to any digital assets but I'll be focusing on benefits of people developing source code for things like
Cloud Storage
This is going to be your main driver for keeping your local development in sync. I switch between laptop and desktop with similar developer environments. I want that transition between machines to be seamless. PLUS I also have a Production Server That deploys these projects.
You could use any sorts of cloud providers, but here I'm using Nextcloud.
Desktop & Laptop
Here I'll explain the setup for your development machines. I assume you have NodeJS and Docker installed already.
Ignore files
an .env
file should be unique to the environment that it lives. duh. And we'll follow the same process as each machine is it's own environment.
On your development machines you should be able to edit an ignore
file for your cloud sync (Nextcloud has this feature)
# .ignore
.env
.node_modules
.next
.keystone
.react-mail
.DS_Store
This keeps your configurations flexible enough without having too much fuss. I use .env.prod
and .env.dev
files synced to the cloud. That helps me keep a reminder of what I use between folders wile ignoring them to the public repo
Server
my Production Server is the same machine that runs Nextcloud. So in this instance, I'm able to dive right into the filesystem and run docker compose build
/ docker compose up -d
at the root of whatever project I want to update / deploy
Git Repo
I assume you also want to share some of these revolutionary apps to the world as well? With this set up you can stop using GitHub as a backup solution (like firing off git push
every time a file is edited).
The cloud is doing it's thing to keep all files up to date, so now you can more methodically git commit -m ''
when a new feature makes progress.