GSoC 2017 | Interested in integrating project Daru with web framework (Rails / Sinatra)

122 views
Skip to first unread message

Athitya Kumar

unread,
Feb 6, 2017, 12:24:55 AM2/6/17
to SciRuby Development
Hello all.

I'm Athitya Kumar - a 3rd year undergrad from IIT Kharagpur, India. I'm quite familiar with Web Development, Ruby, Rails, Sinatra, Jekyll, Git and GitHub workflow. I came across this project idea - "Make Daru more ready for integration with modern Web Framework". The web framework is mostly either Rails or Sinatra, and I was thinking of implementing a "DaruWebdata" class (with sub-classes and functions as required) and releasing this as a gem - so that it can to be easily used in any Sinatra / Rails / Jekyll Web app with just a single include in Gemlock file, and function calls in controllers..

I already have prior experience in building gem : https://github.com/athityakumar/inbound_api 

Can @zverok / @v0dro / @lokesh please tell me whether I'm thinking towards the solution (releasing a "daruwebdata" gem that can be used in Rails / Sinatra / Jekyll apps)? Also, Sinatra & Jekyll hasn't been specified in the Wiki - so is this supposed to be Rails-specific support? Anyway, support to more web frameworks wouldn't hurt right?

Regards,

Athitya Kumar (Facebook | LinkedIn | Homepage | Blog | GitHub
3rd year undergrad
IIT Kharagpur

Sameer Deshmukh

unread,
Feb 10, 2017, 12:44:47 PM2/10/17
to SciRuby Development
@zverok is the primary mentor for this project. Victor can you please have a look at Athitya's ideas?

Lokesh Sharma

unread,
Feb 13, 2017, 2:29:53 AM2/13/17
to SciRuby Development
The primary motivation to make Daru available in Rails is because Rails is data driven, is widely used and at the same time lack data analysis functionality on data available in the database. What we expect to achieve is make Data Analysis available in Web apps that uses data because Daru is about data analysis. Jekyll is I guess static and due to lack of data, the support of Daru is not necessary. Sinatra is almost used to build small apps, doesn't have readily support for database and not very popular so support here also is not much required.

Rails is used a lot and with Daru you can do amazing things. For instance say you have a user database, with Daru you can easily show some sort of ranking, maybe compare each user with a graph, etc.

Victor can shed more light on this.

Victor Shepelev

unread,
Feb 13, 2017, 4:07:21 PM2/13/17
to sciru...@googlegroups.com
Hey, guys, sorry. I've been travelling and then broken my notebook. Back online, will respond in details tomorrow.

--
You received this message because you are subscribed to the Google Groups "SciRuby Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sciruby-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Victor Shepelev

unread,
Feb 15, 2017, 8:02:45 AM2/15/17
to sciru...@googlegroups.com
Hey, sorry for not answering earlier, I had some kind of unfortunate circumstances that altered my plans significantly. Now I am here and all yours. Now, point by point.


It has 3 parts:
* import (web framework agnostic, with probable support for ActiveRecord and other Rails components, which is important yet not an essence of the project)
* export (the same)
* visualisaition: a set of view helpers, which probably should be framework-agnostic also (look for example at https://github.com/ankane/chartkick for an example of gem doing so).

Hope, this answers some of you questions.

Now, about gem name and structure. I am not 100% sure that it should be one gem, probably daru-io (first two ideas) and daru-view (the third) should be better structure? Also, you should probably reuse `Daru` namespace, just add more classes and modules to it.

Feel free to ask me if you have more question in this direction of library evolution.



--

Sameer Deshmukh

unread,
Mar 1, 2017, 8:41:10 AM3/1/17
to SciRuby Development
Athithya,

If you're interested in taking this idea forward, you should start working on your proposal from now itself.
To unsubscribe from this group and stop receiving emails from it, send an email to sciruby-dev...@googlegroups.com.

Athitya Kumar

unread,
Mar 2, 2017, 1:08:50 PM3/2/17
to sciru...@googlegroups.com
Sure, Sameer. But should I leave my 2 open PRs to be done later and start with the Rails Integration, or do I first complete the open PRs?

Sameer Deshmukh

unread,
Mar 4, 2017, 12:53:31 PM3/4/17
to SciRuby Development
You can do both but the priority should be the proposal.

Athitya Kumar

unread,
Mar 4, 2017, 1:36:31 PM3/4/17
to sciru...@googlegroups.com
Ok. I'm already working on the "from_html" module. After this, I can probably start working on a PR for some helper classes to support "views" for rails before the GSoC application deadline, and then continue on the changes suggested in the min-max PR after the application deadline. Does this seem fine?

Also, regarding the "views" for Dataframes, I was thinking about integrating this JQuery plugin for Dataframes for tabular view and chartsjs for different types of plots on Web Interface.

Regards,

Athitya Kumar (Facebook | LinkedIn | Homepage | Blog | GitHub
3rd year undergrad
IIT Kharagpur



--
You received this message because you are subscribed to a topic in the Google Groups "SciRuby Development" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sciruby-dev/nQKGrsqZ0gY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sciruby-dev+unsubscribe@googlegroups.com.

Victor Shepelev

unread,
Mar 5, 2017, 8:36:49 AM3/5/17
to sciru...@googlegroups.com
I believe that selecting the JS library could be postponed, at least a bit.

More important is to clearly define a scope of tasks you are planning to handle, and discuss the API and gems structure.
All in all, if you want/plan to take it as a full-summer project, it is advised to have a good, discussed and reality-checked plan, not just a list of "OK, now I am doing this... and then probably will do that" kind of plan.

Thinking on JS libraries, for example: I'd suggest to do the "README-driven design" for the "views" part of the task. E.g. try writing a good README from the point of view "OK, I've already did the gem, now I am explaining how my users should use it: in Rails and other frameworks".  It would raise a lot of questions to yourself, like "what are people expecting when they are looking at new gem and want to integrate it".

--
You received this message because you are subscribed to the Google Groups "SciRuby Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sciruby-dev+unsubscribe@googlegroups.com.

Athitya Kumar

unread,
Mar 12, 2017, 4:52:50 PM3/12/17
to sciru...@googlegroups.com
Thanks for pointing out to not choose / finalize the JS library right away. Now I understand how much this will restrict the user from tweaking the UI of the Daru components.

I've gone through this sample rails App done by Lokesh, regarding simple usage of Daru in Controllers. After following the discussion on Anonyo's thread, I'm currently going through the chartkick gem, and am already familiar with ERB templating.

I'll soon get started drafting the desirable calls in a prospective Rails App where Daru is to be integrated, and post the gist link.

Meanwhile, I'm still working on the from_html module, and including the same tests as used in pandas' from_html module. Also, there are way more options that the from_html module of pandas provides to the user (such as flavors, tuples, thousands, etc.) - I'll try to include them too, and update the PR by the next week.

Regards,

Athitya Kumar (Facebook | LinkedIn | Homepage | Blog | GitHub
3rd year undergrad
IIT Kharagpur



Reply all
Reply to author
Forward
0 new messages