I am new to Angular but know a little of JS and bit of jQuery.

I have an engineering application that is somewhat complex and I want to 
get a constructive critical eye of someone experienced with Angular on how 
to go about implementing the app, and even if Angular is a good choice for 
the app.  Maybe I can get away with JS or JS + some jQuery or something 
else instead.

The app (as how a user sees it from UI point of view):

   1. *Filling Out a Complex Interactive Form*.  A fairly complicated form 
   with lots of fields and options is presented to the user.  Some options are 
   simple such as checkboxes, or select boxes.  But there may be more design 
   conditions to be entered on the form itself, so clicking "enter more design 
   conditions" button on the form brings up more form fields, which are then 
   populated by the user.  There should also be a way that allows to populate 
   the fields automatically (i.e. from Database), according to some logic - 
   for example, if user saved their previous design points, those can be 
   loaded back instead of having the user enter them again.
   2. *Submit Form*.  User then clicks Submit, after which some internal 
   work is done behind the scenes to compute "scenarios".
   3. *Display Choices*.  Between 1 and some number n scenarios are 
   presented to the user, displaying certain configuration state of their 
   selection done on the previous form.  A single "scenario" is a several 
   tables with data, charts, and other information presented on the page 
   dynamically.  User can click Next and Previous to navigate between the 
   scenarios, where the end result is like flipping pages - each page has a 
   scenario and only one scenario is shown at a time on the page.  As part of 
   step 2, it is determined the exact details of how what scenario should look 
   like, i.e. what tables/data are displayed, what parts of tables/data are 
   hidden, and so on.
   4. *Save a Choice*.  User clicks Save, and their choice of scenario is 
   saved to a backend database, and then the result of their choice is 
   displayed to them, along with some details.  Their result is shown among 
   other results if any were selected previously
   5. *Display Results.*   User can do the cycle 1 through 4 several times, 
   so several choices (results) can be accumulated and shown to the user.  
   This step in the application is where results are shown as line items as a 
   list, each with its own sub-items and other info.  These line items can be 
   moved around, manipulated and saved for later.  Miscellaneous lines and 
   sub-lines can be added directly to the Results page as well, side-stepping 
   the form.  Final results page is polished, then saved (to the DB) and can 
   be used to create reports and such.

My questions are:

   - I know this can be done in Angular, but how easy is to implement in 
   Angular -- is Angular workflow/model good for this kind of an app? 
   - Can you give me a roadmap of how I'd go about implementing this app 
   "the Angular way"? Recall that I don't yet really know Angular, so I am 
   looking for something I can relate to..  but the more detail the better.  I 
   am trying to figure out how much work will be involved.
   - For example... I presume I will have separate HTML for every page, but 
      do I use separate templates or HTML partials that are included elsewhere? 
      .. 
      - Will I use a single business logic JS file or many separate JS 
      files, like one for every page?
      - What will I miss if i find my way using JS and jQuery?
   - Does my app in any way require "special" design, or can I work with 
   Angular incrementally as needed, and reach the same result as if I designed 
   everything upfront perfectly?  i.e if I use Angular for step 1 only but use 
   JS for all other step, will I experience any trouble relating data from JS 
   to and from the way Angular does things?
   
Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to