Assuming you were starting from a clean cloud server instance with nothing installed except Linux,
And what tech stack would you use to do that?
1. FeathersJS for backend [1]
2. Postgres DB
3. Angular for front end + bootstrap
4. Postmark for transactional email (for new signup email verification, forgot password, 2-factor login) [2]
5. Digital Ocean for VPS
6. Ansible for deploying everything (server hardening, UFW for firewall) + Digital Ocean Firewall
7. Namecheap for domain
8. DNS configuration done on Digital Ocean
Typescript for both Angular and FeathersJS
I've done this a few times and all together it would take me about 3 - 5 hours.
You can see my old ansible playbooks here https://github.com/bjacobt/digitalocean-ubuntu-ansible-setup
An old multi-tenant feathers JS sample application is here https://github.com/bjacobt/feathers-multi-tenant-example
Edit: Add server hardening + formatting + github links
Others here have answered this question more or less the same way.
Try https://www.saaspegasus.com/ if you‘re comfortable with Python/Django.
I've created a framework in Python, on top of FastApi(or Flask)/SqlAlchemy/React that allows me to create web apps with built-in authentication/authorization/payments/admin/email etc. It has several features that makes it really fast to create database models and CRUD functions.
2-3 minutes for the cli to create the base application and install dependencies. 1-2 minutes for the database models and UI. ~5 minutes for ansible-playbooks to bootstrap the server (hardening, installing docker). Another few minutes start the application on the server (build docker images, push to registry, deploy docker-compose scripts to server, run the app, bootstrap the database).
It would probably take several hours if I'm starting from scratch and using only open-source frameworks.
- WordPress install which handles user account management - the theme my login plugin to style the login screens - ACF frontend for data collection from the user - Beaver builder to make it look like something
In fact this is how I built a new build-it-in-public web app over the weekend. Plug: LittleGoal.com
Two full days, start to end. It's slightly different from a SaaS like you describe. No user login and no database. The time all went toward the UI and front-end functionality.
The app you describe with signup & CRUD would take 4-5 hours. With Laravel/MySQL as a stack. Laravel has excellent third-party modules for the user management pieces.
Edit: after searching I think this is what I was thinking of. I have not used it though. Seems cool.
I would use an Elixir/Phoenix stack and get 75% of the reqs from generated code.
Laravel w the built-in and free Breeze starter kit.
One hour to install lamp stack or with nginx.
One hour for the simple app.
Someone who's done it before recently could do it in an hour or less I'd guess.