msjit / testcasedb

TestCaseDB - Web based test case management
MIT License
40 stars 18 forks source link

[RFC] UI redesign #79

Open kiranfractal opened 9 years ago

kiranfractal commented 9 years ago

UI looks good but frankly it is bit dated, and IMHO we should change it to look more dynamic as github site looks.

The design of github is really handy to navigate and for that matter tarantula is also nice (http://www.testiatarantula.com/)

We need a combination of both tarantula and github :)

I welcome your thoughts on this.

Thanks.

joffems commented 9 years ago

A UI redesign is something I want to tackle, but simply haven't had time to do.

I may start coming up with designs and placing them in this ticket for feedback. I've considered many ideas, including putting the menu on the left side of the screen with an ability to minimize it.

kiranfractal commented 9 years ago

Before UI redesign shall we check whether RAILS 4/4.1 migration has any merits ?

On Wed, Feb 18, 2015 at 9:38 PM, joffems notifications@github.com wrote:

A UI redesign is something I want to tackle, but simply haven't had time to do.

I may start coming up with designs and placing them in this ticket for feedback. I've considered many ideas, including putting the menu on the left side of the screen with an ability to minimize it.

— Reply to this email directly or view it on GitHub https://github.com/msjit/testcasedb/issues/79#issuecomment-74891044.

kiranfractal commented 9 years ago

some of Rails 4 links to ponder upon:

http://weblog.rubyonrails.org/2014/12/19/Rails-4-2-final/ https://gorails.com/episodes/rails-4-2-introduction http://technology.customink.com/blog/2014/09/16/from-rails-3.2-to-4.2/ http://railsapps.github.io/updating-rails.html

kiranfractal commented 9 years ago

One of the strongest reason to move Rails 4.2 is AdequateRecord which make ActiveRecord 2x faster.

http://tenderlovemaking.com/2014/02/19/adequaterecord-pro-like-activerecord.html http://blog.newrelic.com/2014/04/25/ponies-rails-adequaterecord/

joffems commented 9 years ago

I'm happy to move to Rails 4.2 as part of the process. I did start the process several months ago, but then stopped to work on other features and bug requests. I'm going to create a Rails4.2 branch to get the work started.

kirantpatil commented 9 years ago

Great, let's get started, I will use Rails4.2 as base for issue management feature development.

agramian commented 9 years ago

@joffems It seems work has stagnated. What do you think of the idea of updating what we have so far to the latest rails then converting it to a completely api based backend? Then we can use a javascript framework such as angular js which I am familiar with for the front-end.

So my suggestion is to use ruby on rails strictly for the backend, models, database, etc. and angular js (or another javascript framework we all agree upon) for the front-end. We can even use https://github.com/rails-api/rails-api which seems to strip down rails to only the necessary components for backend functionality.

I want to continue using TestCaseDB but there are many improvements that need to be made and I'm not familiar enough with rails to contribute with the front-end. And I'm not sure it is worth the effort for me to learn rails considering that the many javascript frameworks and single page apps popping up seem to be the future of the web.

Please give me your thoughts.

kirantpatil commented 9 years ago

I heard from one of my colleague, that DHH has advised to use Turbolinks where people want to use Angularjs. IMHO some churning is needed before embarking on Angularjs.

On Sat, Apr 25, 2015 at 3:16 AM, Abtin Gramian notifications@github.com wrote:

@joffems https://github.com/joffems It seems work has stagnated. What do you think of the idea of updating what we have so far to the latest rails then converting it to a completely api based backend? Then we can use a javascript framework such as angular js which I am familiar with for the front-end.

So my suggestion is to use ruby on rails strictly for the backend, models, database, etc. and angular js (or another javascript framework we all agree upon) for the front-end. We can even use https://github.com/rails-api/rails-api which seems to strip down rails to only the necessary components for backend functionality.

I want to continue using TestCaseDB but there are many improvements that need to be made and I'm not familiar enough with rails to contribute with the front-end. And I'm not sure it is worth the effort for me to learn rails considering that the many javascript frameworks and single page apps popping up seem to be the future of the web.

Please give me your thoughts.

Reply to this email directly or view it on GitHub https://github.com/msjit/testcasedb/issues/79#issuecomment-96074427.

joffems commented 9 years ago

@agramian I will acknowledge that development has been slow lately. Had to move and I've been very busy. I will hopefully be able to tackle the big changes soon.

That said, I've been brainstorming the update and I think have some good ideas to experiment with. MY new design is going to tackle several of the bugs that have recently come in. I'm going to make a single page solution for each of the existing models with the ability to drill down to the taget item. Once I hae some progress I'll share the results.

agramian commented 9 years ago

@kirantpatil obviously the creator of rails will advise people to use rails technology but Turbolinks is not directly comparable to angularjs. Angularjs is a front-end javascript framework which provides easy ways to manipulate large data sets and deal with authentication, tables, sorting, forms, etc. which TestCaseDB is pretty heavy on. Turbolinks is a rails technology for speeding up links on a page by only updating the body. In fact I believe it is possible to use angularjs and turbolinks together.

@joffems Sounds good. If you are planning to convert TestCaseDB into a single page app then I am all for it and eager to see the new progress. As soon as you have some code down I'd be happy to start learning your patterns as well as rails front-end skills to help contribute.

Please keep us updated.

kirantpatil commented 9 years ago

some food for thought.

https://sourcegraph.com/blog/switching-from-angularjs-to-server-side-html https://twitter.com/dhh/status/435706448627372032

agramian commented 9 years ago

@kirantpatil All 5 points in the blog entry you referenced are very minor and unnecessary considerations for this application and they do not even apply to angular js specifically. I use angular js and can attest that it is a powerful framework for creating front-ends and one that should be considered for the UI update to TestCaseDB. The only legitimate issue with angular js that some people point out is the high learning curve to start. IMO we should be debating which front-end javascript framework to use and not whether to use one at all.

joffems commented 9 years ago

@agramian @kiranfractal I'm still planning on moving ahead with this plan. Currently learning a bit of angular before taking the next step.

moimael commented 9 years ago

@joffems, you should consider using React.js with Flux pattern (with something like alt.js or meteor, ...). It is much simpler than angular (lib vs framework) and is well maintained (angular v1 will be deprecated and rewritten), and also make use of really usefull new technologies (Shadow DOM and webcomponent).

agramian commented 9 years ago

AngularJS is a complete framework while React.js is just the V in the MVC pattern. The main reason people consider using React.js is because of the claims that it renders much faster than other libraries because of the shadow dom, but in my experience it is not significantly more performant than angular. While it is true angular 2.0 will be released sometime this year or next, 1.0 will still be supported for several years to come. If you ask me the only other JavaScript framework we should consider besides angular is Aurelia.

Also I don't agree with using alt.js, meteor, or any isomorphic javascript library for this project. The backend code, database models, etc. are fine in ruby/rails. There is no reason to completely redo this entire project. We just want to update the UI.

moimael commented 9 years ago

Angular is a good framework, I just don't like it ;) I think the main reason people use React + Flux is because of encapsulation and managing state in one place. Also because they choosed the right tradeoff in their design descisions. Performance wise, I agree with you, there is little difference between the two.

Alt is not a backend framework but a flux implementation with is perfectly fine to use while keeping the ruby backend. You just do ajax requets to the backend and store the state in flux store created with alt.js.

Anyway I'm not a big fan of frameworks, I prefer much simpler libs that works well together and can be replaced without much hassle if it stop being maintained one day or if a better alternative comes up. Just my two cents here, Angular is a perfectly acceptable choice, but not the best in my opinion.

agramian commented 9 years ago

All valid points.

You like using several simpler libs and making them work together and I like keeping things as simple and few as possible ;) I prefer to use one thing which does everything for front end and one thing for the backend, if not one for both like it is currently (ruby/rails) or with an isomorphic framework like Meteor. Or back in the day with the php frameworks.

However, here the backend is fine and we just want to change the frontend so for that reason my vote is angular or aurelia.

kirantpatil commented 9 years ago

Finally, my vote goes for Aurelia for its similar but elegant approach than angular 2.0 and convention over configuration.

He looks like DHH of Rails :)

http://eisenbergeffect.bluespire.com/porting-an-angular-2-0-app-to-aurelia/ http://eisenbergeffect.bluespire.com/aurelia-angular-2-0-code-side-by-side-part-2/

kirantpatil commented 9 years ago

Youtube videos:

https://www.youtube.com/watch?v=6Pd53umA5wc&list=PLw5h0DiJ-9PCc7IHZt013MmnOvQmcWeq0

https://www.youtube.com/watch?v=kVanPz8lzfY

kirantpatil commented 9 years ago

@joffems,

Any updates on which one did you pick ?

Pluralsight has released a new course on aurelia. http://www.pluralsight.com/courses/building-applications-aurelia

There is a rails app built by one of aurelia dev, where I posted my issues. https://github.com/PWKad/aurelia-rails

joffems commented 9 years ago

Currently working on the migration to Rails 4.2, Ruby 2.2 and building the json backend. Then planning on working with Angular.

kirantpatil commented 8 years ago

Dear @joffems,

I would like to go ahead with Ember way.

I also would like to clarify my doubts here.

What about if we move to Rails 5 Api with emberjs ?

http://emberigniter.com/modern-bridge-ember-and-rails-5-with-json-api/

Thanks.

moimael commented 8 years ago

Any progress on this ?