The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Database and script selection for new web application

I'm somewhat tech-literate; haven't written "real" code since Y2K went away, and that was (obviously) COBOL.  Can hack around in other people's databases and haven't done a whole lot with creating my own, yet.

Designing a diet-related website that will allow users to track their daily activity.  (I know, it's been done, see Fitday; have my own tweak and willing to spend the time.)

1.  Have access to a copy of MS Access I can play on, but can't use for commercial work.  Ditto Windows XP system.

2.  Looking at the database requirements and not sure where to start, or where to go to find out what I need to know to evaluate options.  See references to PHP and MySQL and that's about all I know.

3.  Would like to take the development / prototyping as far as I can before I have to layout real money for a new PC / software / etc.

Suggestions as to what I do / read / learn next?  Major book buyer but sometimes that's not the most cost-effective answer and there are a LOT of books about each of the application options.  Haven't seen any that help a girl CHOOSE the right applications, though.

Ideophoric Send private email
Sunday, February 05, 2006
I'm going to assume that you want to play with some project in your spare time for the fun of it.

The safe bet here is PHP + MySQL. These two tools are free and have broad appeal. You can get someone to host your diet website for a small amount of money, there are plenty of books around and a lot of other people know it, the traps and pitfalls, etc.

The problem with PHP is that it's dog slow to work in and the code you write easily becomes a mess. I haven't found a coding style that is clear and expressive in this language.

An other option is to Ruby on Rails, which I personally like a lot. The problems here are few webhosts, few ressources, unknown pitfalls and traps. A lot of people are writing books right now, some are out, the community is friendly and productivity beats PHP hands down.

You could have a problem if you don't know whats going on behind the scenes of Ruby on Rails. The framework is very high level and leaves out of details you probably should be familiar with. (I don't know what that might be, as I know a lot of the stuff and have forgotten what I have learnt and what was intuitive.)

A third contender is Python and one of it's frameworks, but it hasn't gotten a lot of traction yet, so it comes at a cost of more time spent on learning.

I hope this helps you out.
Peter Monsson Send private email
Sunday, February 05, 2006
If you have a VPS/VDS you can install RoR and anything else you like (under Linux).
MBJ Send private email
Sunday, February 05, 2006
"3.  Would like to take the development / prototyping as far as I can before I have to layout real money for a new PC / software / etc."

For this purpose, Microsoft Access is probably your best solution.

Every other solution has a learning curve involved that requires you to master both the database tools and creating web pages. Sticking with Access allows you to postpone the database angle, and I think - but I'm not positive - the latest version of MS Office has wizards for generating rudimentary web pages that will utilize Access on the back end.

Once you've determined your idea is feasible, then you can look into whether you want to "host" the application yourself, or pay someone to host it for you - and that decision may help you decide which technology to develop on. (As Peter said, RoR is easier than PHP but not as common.)
Monday, February 06, 2006
Thanks, guys.

Not clear--CAN I run PHP on a Windows box?

I have rudimentary HTML skills but that's for static pages--never done anything with forms or data entry from the web.  Staggering into CSS as you read, on another project.

I think it will be helpful to get the database down first, then think about moving it to the web.  Presumably, building a db in MS Access will help me work through basic table and query design, and those decisions will then port (fairly?!?) easily to mySQL, if that's where I go.

Know I'm not the hosting type myself.  Perfectly happy to pay someone else to get that close to electrons.
Ideophoric Send private email
Tuesday, February 07, 2006
PHP runs on Windows. If you just want a preinstalled thingy for playing around with (PHP + MySQL + Apache + whatever else they included) you can get WAMP5. It works fine for me.

By the way, I don't think that porting from MS Access to any SQL is going to be easy, unless MS Access can create SQL strings for you and some type of ASP pages. (I don't know that much about MS Access to know for sure.)

TheDavid said something about wizards that could do some of the work for you, but depending on what Access actually outputs, it may not be worth anything to port. ASP + Access can be very similar to MySQL + PHP, but it acn also be very different.
Peter Monsson Send private email
Tuesday, February 07, 2006
The simplest thing to do to get started and least expensive is to install the wamp set up mentioned above and get a book on PHP/MySQL similar to this one. These books are everywhere.

There will be a lot you want to learn later as would be the case for anythng. Also the PHP/MySQL is widely supported by web hosts on Linux or Windows systems.
TrippinOnIT Send private email
Tuesday, February 07, 2006
As an alternative to PHP or Ruby on Rails I would propose Perl and Catalyst:
Zbigniew Lukasiak
Wednesday, February 08, 2006
Current state of the solution:

Looked around at reviews of the book mentioned above; found this link:

Already doing the CSS / HTML part of the exercise on two other static-page websites; happy with progress.  Went to a brick-and-mortar bookstore last night and looked at the section for PHP/MySQL.  Got a bit wigged out--too much new stuff.  Over to the MS Access books; this I can manage today.

So for today, I'm going to move my Excel file into Access and see what happens when it becomes a real database.  When I get more comfortable with making Access, which I sorta know how to use, do what I want, then I'll start in again with learning a scripting language to put some kind of database on the web.  It may be Access at that point, or I may go to MySQL.  Not worried about re-building the database in a new system once I figure out what it is that it needs to be doing to get the functionality I already have for one user in Excel.

Thanks for the replies.
Ideophoric Send private email
Wednesday, February 08, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz