Create a stage environment
At the moment, the only way to test the new features added to the website is to deploy them directly in production.
I propose to create a stage environment where to test the updates and new versions of the portal to avoid creating disruptions on the production site.
I think we had one set up at some point but closed it down to reduce costs. I think we can set one up, but should have a way to basically spin it up on demand and have it close down again to reduce costs. There might be a time where we are working on the website consistently enough that it's worth the extra cost but I'm not sure that's the case today 🤔
Branch deploys that can be spun up for bigger changes (by a small number of people) and spun back down after merging would be ideal. Perhaps a bit of work though.
I think this is a great idea if we can integrate it into various processes (deployment, testing, maintenance, etc).
I wonder how hard it would be to use a PaaS for this. Ultimately it's up to the ops team, but fly.io seems pretty friendly to Django. I wonder if they would provide hosting for a small staging server (or more?) for free. Heroku could be another option.
If there is no interest in using a PaaS, maybe we could decide on the requirements of the server we'd need. That could make it easier for someone to donate the resources if cost is a problem.
We have a staging environment now, so I'm going to close this.