Hi guys,
Thank you Emil, Rick and Colin.
Emil:
I didn’t exactly get your question. Are you looking for a way to search
for the records ? If the number of rows is huge and you need full text
search, you may need to look at Solr or Sphinx or AWS CloudSearch for fast
queries. If time is not a big concern, you may even be able to do away with
simple ActiveRecord queries (do look at squeel gem too :
GitHub - activerecord-hackery/squeel: Active Record, improved. Live again :) ).
Yes, part of it is looking for a way to search for the records. And yes,
number of rows is huge. There are around 80,000 rows split in multiple
Excel sheets.
I am thinking I may have to split this one database table into more
tables
that can help with the search.
Rick:
Assuming you have little Ruby experience and no Rails experience I think
your best plan would be to familiarize yourself with RubyOnRails tutorials
at: Getting Started with Rails — Ruby on Rails Guides (a full tree
provided by the RoR development group covering major Rails components),
and: Chapter 1: From zero to deploy | Ruby on Rails Tutorial | Learn Enough to Be Dangerous (a very
good book by Michael H. with the apt sub-title “Learn Web D.
with Rails”). Both are free online.
I finished the first chapter of Rails Tutorial, and I have this
https://github.com/arslanfarooq/first_app and
http://fast-beyond-5656.herokuapp.com/
This was really fun and I believe when I finish this whole tutorial I’ll
learn a lot.
But I have a 2 week deadline (actually I set the duration myself when
they
asked me how long will it take). So today I decided to first make this
in
PHP. Once this app is finished and tested in PHP, then I’ll come back to
making it in Rails.
Your application looks like a good one for a first effort with two models:
User and Item. Members of the User class can have roles associated with
them, i.e.: Manager, Employee, and Administrator. The Item class will be a
direct map of the spreadsheet, members will have fields that mirror the
spreadsheet columns. The Item search can be nicely built into the item
controller’s index method and the item edit restriction can be enforced by
keying off the user’s role in the controller methods and views.
What you are saying is kind of making sense, and I feel this may serve
like
a rough plan for what I want to achieve. Thank you!
I would suggest that, at least initially, you use a snapshot of the
company’s spreadsheet to populate a database that you will use for all
development, test, and functional acceptance.
I actually did this today in PHP, I imported the Excel data in the
database. And the search form is working… kind of. It is pulling the
results, but I need to grab a relational database book and look for ways
to
optimize my search query.
I have decided to make two search forms. One search form to search using
details of a product, and another form to search using details of a
person.
My SQL knowledge is very basic, and to give a clear idea of my skill
level,
I am a WordPress developer. So when I said I know how to make this in
PHP
and MySQL; I should have said I have an idea how to make this in PHP
and
MySQL.
Right now I need to formulate a smart query when search form is
submitted.
My current query is too simple and does not give the desired results in
many cases. Gives desired results in one particular way Which sucks.
You can then segregate out a separate task to either provide functions to
import and export the excel based data. I would suggest that the final
design might want to have the data held in a database with a publish
capability with an excel format (and/or pdf, and/or …) that has the
published date/time as part of the page header.
Client did say to implement the print search results feature. So I’ll
use
the pdf option.
Be sure to learn how to test your app, validate your data, and have fun.
Thank you Rick!
Colin:
+1 to those suggestions. To start developing an app before working
right through a good rails tutorial will just result in wasting a lot
of time.
Yes I completely agree.
The railstutorial.org example will give you some useful
stuff such as user authentication that you can use in your app
I will definitely finish that tutorial once this app is done in PHP.
And for that, I just need to get the search to work nicely. I already
implemented Twitter Bootstrap for PHP version so interface is already
good
and responsive.
Thank you guys for your help and input. God bless you all.
I don’t want to ask for the SQL here. I’ll use appropriate forums etc.
– arslan