4

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!

4
  • 1
    Please link to a web page (for instance Wikipedia) explaining what is a "reactive" web app. Thanks!
    – Nicolas Raoul
    Commented Feb 11, 2019 at 15:22
  • so sorry :( i think mixed up reactive (which doesnt seem to be a proper term) with progressive web apps. I mean a fast respond user experience like for instance adding tasks on asana. i updated my question.
    – Maximus B
    Commented Feb 11, 2019 at 15:43
  • Worth looking into Elm perhaps? elm-lang.org
    – Caleb Jay
    Commented Feb 22, 2019 at 1:01
  • Looks like you've done some research. I wonder if you'll get an answer which is more elaborate than your question :) Commented Feb 23, 2019 at 12:16

2 Answers 2

1

I would suggest using the TypeScript Hackathon Starter kit which would get you up and running very quickly. The stack is MERN - Mongo, Express, React, NodeJS. It gives you a framework for many common uses such as user authentication, RESTful APIs etc.

1

You could try this 30-minute single-page app tutorial for VueJS. The tutorial demonstrates how to build an interactive GUI with a few lines of code. There is no server component, though; and the VUeJS is brought in via a link to a content delivery network. Of course you can add a database layer. An attractive option is to use Google firebase, a key-value datastore optimized for the lots of asynchronous calls typical for modern Javascript developement.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.