i want to outsource development of a rather small web application, but would like to get a good grasp on what the architecture should look like. I am somehow familiar with technology, but my last closer endeavors were ages ago with PHP/Mysql. Nowadays i would expect a leaner approach with a lot less code and that i dont have to reinvent the wheel as the requirements are really simple.
Roughly the functions of the Web App:
- user authentication
- user can create "objects" (similar to a project)
- user can add "elements" to the project (similar to tasks of a project) with about 10-15 parameters per task. there will be some logic regarding what parameters can be added (a "project" will usually contain about 50 "tasks")
- user can view a "project" overview with all "tasks"
The scope is very similar to www.minutes.io and i would also expect a similar user experience (also similar to asana etc.) which seems to be called "Progressive Web Application" (https://en.wikipedia.org/wiki/Progressive_web_applications). EDIT: I mixed up progressive with reactive.
My expectations:
- fast time to protoype
- able to integrate external services when needed (eg. auth0 for user authentication, stripe for payment)
- fast response user experience (like minutes.io, asana, etc.)
- very simple code structure, but stack should be mainstream enough to have big dev community
I did research and found these different options:
Option 1: The classic MVC approach with some PHP framework, RoR, Python/Django + some JS Framework like react for frontend. For me that feels a little overdone and quite some effort building separate back and frontend just for this little scope. on the other side there will be plenty developers, well known code structures and best practices.
Option 2: A "Fullstack Framework" like meteor.com or hood.ie. They seem to be perfect for my expectations (very efficient coding, fast user experience, offline first approach), but also seem not very wide spread and meteor seems like not being developed further (is that true?). So i might build everything on some hype frameworks, that are not existing for very long.
Option 3: A Backend as a Service (BaaS) approach with Firebase, Parse, Back4App, etc. I quite like the idea of only focussing on the core app logic on frontend side and data handling is done automatically. Not sure about the lock-in though and how reactive it really would work.
What would you recommend? do you confirm my options?
Thanks a lot in advance for any advice!