tags:

views:

319

answers:

14
+3  Q: 

What framework?

Hi,

My friend runs a small herbal remedies business and doesn't have any software to help him do anything. I created him some spreadsheets that work in the short term, but ideally he needs a database with some forms.

He needs a basic system for inputting and tracking his orders/inventory, grouping that inventory together into herbal formulas (which are ratios of the herbs), a bit of math using the formulas, etc. It's not very complicated and all inputs could be done using basic forms.

I have drawn the basic database scheme and forms that are required, but I'm wondering what the best way to implement this is. I was thinking about using a framework like Django because it's so easy to create basic forms and has good object-relational mapping. But if I do it this way, I will have to install Django on his computer, and he'll run it through a web browser. I'd do this because HTML forms seem simple, compared to making something like a Swing GUI.

Does anybody have any suggestions? It just needs to be simple and done quickly.

Thanks.

+7  A: 

I'm kinda scared to suggest it, but if it's just a simple system, and they already have microsoft office, why not just use access? I'd shy away from it if you think it would grow beyond the capabilities of access, but if it's a pretty basic DB app, sounds like the easiest approach (especially if they already have the software)

Owen
It offends my programmer-sensibilities, but if you need a small-quick solution, this is good. If it ends up needing to grow, it shouldn't be a problem to get the data from access into another database, and use whatever language to interface to the new database.
Chris Marasti-Georg
i know, i feel dirty for thinking about it... :)
Owen
KISS - Keep It Simple Stupid
Campbell
He actually is using a Mac, so it was the OpenOffice spreadsheet that I used originally. I hadn't ever used Excel/spreadsheets before this (although admittedly, it was pretty simple). Can I create basic forms in excel/OO Spreadsheet? I assume that OO also has something like Access.
openoffice has a database app similar to access "base", i imagine it should be robust enough to deal with your requirements
Owen
Thanks a lot, I'll check into it.
What about creating forms for input?
OpenOffice base has a form editor. And you create reports in the the word-processor
interstar
Yep, the reason it was suggested is that Access (and hopefully base?) provides everything you need - database, the ability to build forms to enter data, build queries, etc.
Chris Marasti-Georg
+1  A: 

A web application will do nicely for this kind of job. Installing a framework such as Django shouldn't be at all difficult. In fact, it's a matter of copying the file. Setting up a web server is the main problem and there are already some pretty neat configurations for this (e.g. XAMPP for general purpose), some even don't need any installing and can be run from a USB drive.

Now, I don't really know Django but I know that Ruby on Rails ships with an own web server that can be launched via a simple script command. Installing here is really a matter of copying the files and launching one script.

Konrad Rudolph
Django also ships with a small web-server built in.
Python ships with the web-server so it's available for Django or web.py or roll-your-own solutions.
interstar
A: 

Hmm .. why not just a desktop DB (Access or OpenOffice equivalent)?

If there's something wrong with that, then PythonCard was originally conceived of for doing this kind of application. (Python + PythonCard (which wraps wxWindows) + SQLite )

Or even just use the browser as UI as you intended (here's an example : http://www.mindview.net/WebLog/log-0045 )

interstar
A: 

Well, you will have to decide what suits you/him best. Django is nice, you may also want to check out codeigniter php framework, or even .NET that may run as a standalone application.

rogeriopvl
A: 

I haven't used it, but the features of DabbleDB look nice. http://www.dabbledb.com/

I was going to vote for this because Dabble looks so cool. But then I realized it probably isn't the right solution here. Still, I wish there was something dabble-like that could be used here.
interstar
+2  A: 

Back in the old days this was what people always used Hypercard for.

The honest truth here is that any of the small database programs like Access, FileMaker, or Bento should be more than adequete to suit your friends needs, and will likely be simpler for him to maintain than anything that is targetted at web development, like Django or Ruby-on-Rails with Active Record.

If he is using a Mac I would take a quick look at Bento (there is a free demo), it is not super sophisticated, but it is cheap, simple, better integrated with what he is used to, and probably will be easier for him to maintain in the long run.

Louis Gerbarg
+2  A: 

Considering the OP's comment on this answer, why not FileMaker Pro? Admittedly, it'd run you or your friend about $300, but it's a desktop-level database which (last I checked) doesn't totally suck and would definitely get you out the door quickly.

John Rudy
If I can't get him up and running quickly with a free solution, then I'll start looking into pay solutions. I think there's enough free (as in beer) software available that I should be able to find something to save him the cash. I will definitely keep FileMaker Pro in mind though, thanks.
+1  A: 

For the small business user, the best thing to do as the gifted technical friend is to be supportive and realistic. The business owner has a fixed amount of resources, which equates to cash reserves and time. They are in the business of moving goods through their store rather than wasting precious time build infrastructure.

If he has Quickbooks, I would recommend finding an inventory management plug-in at a nominal cost (rather than those that cost a fortunre). If he does not have Quickbooks...I hope to God he has some other SOLID accounting software.

Additionally, there are resources available for using MSAccess to tie into such proprietary systems that you might be able to develop without the need for purchasing additional software, but that has already been mentioned before. If you go this route, it is imperative that you build a solid foundation of documentation before, during and after the release so that you, the business owner, or future PS can help the business migrate IF the business skyrockets and the need for a more robust inventory control system is needed.

websch01ar
+1  A: 

This really depends on what frameworks/platforms you know, and it sounds like you know Django.

Also, you may want to look into building (if you really need to build something custom) it as a web application so he doesn't have to install anything; just use it from a web browser. And, there are plenty of very affordable hosting providers out there to choose from. ex: GoDaddy.com Hosting

And remember, it may just be cheaper to purchase some existing software package that does what he needs.

Chris Pietschmann
A: 

It seems like you need a simple client server solution.

Visual Basic with MS Access DB would be a good choice.

However, it is not very unusual that the software demands become ambitious as the system starts breathing. [Especially when the business grows]

I'd recommend the 3-tier web based solution. To keep it scalable, here is what I suggest

HTML/JavaScript ]-----[ ApacheTomcat(JSP) / IIS(ASP) ]-----[ MS Access

a-sak
Why would you use Access in this situation, instead of a nice FOSS db? To me, the appeal of Access in this situation is that it provides a front-end to the data as well. Remove that, and there are better solutions.
Chris Marasti-Georg
A: 

.NET windows form app with an SQLite database. Use subsonic or something similar to generate the DB access code (subsonic supports SQLite). Generally, .NET gives you somewhat rapid development with a lot of power. SQLite is a db engine that doesn't need to be installed, and there are .NET projects that provide full ADO support.

I would NOT use Access for anything. Eventually, assuming your friend's business grows, the needs of the app will grow. Having maintained a few legacy Access 97 apps, I would not recommend it.

For me, Access is only good as a reporting/querying tool--not for application development.

Jim
A: 

Remember that - why build a better mouse trap if it's already good. And built!? Saleesforce.com, SugarCRM, Compiere CRM (over kill IMO), Goldmine, etc...

If there is something off the shelf that works and you're not trying to compete, why not offer it!?

A: 

Why not just buy something off the shelf? There are plenty of cheap order, inventory, stock control type system around.

Craig
A: 

I suggest you to look at Viravis. It may help you to develop quickly and easily the application you want.

orka