Impress my girlfriend with some mad online registration skillz
July 9, 2006 10:46 PM   Subscribe

My girlfriend handles registrations for swim lessons, and it's a very time-consuming, badly-executed process. I told her that an online implementation of her forms, class rosters, and maybe even payments would simplify the process. Guess who gets to make this happen? (And needs your help to figure out how!)

Here's what's supposed to happen: Parents fill out an online form (name, address, the usual) that should indicate their kid's age and experience level. Then, we show a list of classes that their kid could fit in. They select the class time they want and get registered for it; we save the info to a database and maybe email them confirmation. In an ideal world, they could even pay online (through PayPal or something) and return later to change their class time. Oh yeah, and this all needs to be free (gratis) or very, very low priced.

I searched around, and the only related thread I could find was this one. But most of that stuff didn't look free. Neither does anything on Google. A ready-made system would be great, but I'm not averse to making one myself if no good one exists. I have some programming experience and lots of web experience, and it's not a big deal for me to learn enough of a language to make a particular project work. So I'd gladly take any recommendations on how to make my job as easy as possible. We can work out whatever server configuration is needed, AFAIK.

Is this do-able? Any thoughts would be appreciated. Thanks!

PS -- While I wish everything could be put online, some people are still going to want to make and get phone calls. What's the cheapest, simplest VOIP solution out there? Bonus points if we can make it play the "press 1 for X, press 2 for Y" game, and apologies for being yet another Talk to the Machine operation. (This question is definitely secondary, and I'll be searching for this later, but if you know any off-hand...)
posted by SuperNova to Computers & Internet (14 answers total) 3 users marked this as a favorite
I handle registration for a driving school, and we run into almost the exact same problem that she has. Right now, the system is that if a student enrolls online, we get an email with their info, which we then have to transfer to a Filemaker Pro Database (and when we say we, I pretty much mean "me"). I think that the best solution for us would be some sort of web-integrated FMPro database, but FMP's pretty expensive (I think?) if you don't have it already.

Learning FMP is also an issue - I'm having a hell of a time with it - but then again, I have absolutely zero programming or web experience, and you, apparently, have some.
posted by rossination at 10:57 PM on July 9, 2006

This is a classic "I want $10,000 worth of product for $10 of my money" question. What you're asking for is a specific/custom need. You'll most certainly need to either code something yourself or pay someone to get exactly what you need. Anything that might be even remotely close to what you need that is pre-built will most likely cause more pain than help.

As for VOIP...why does it have to be VOIP? If you have a landline you can use something like GotVMail to handle the auto-secretary phone stuff.
posted by JPigford at 11:23 PM on July 9, 2006

Response by poster: It has to be VOIP because she will soon be relocating and spending a lot of her time in a different area code (long distance, which people may balk at calling). Her cell phone (still in old area code) will be her primary line but she doesn't want to give that out and have to be taking calls all the time, which she practically does now. So she needs a solution (VOIP just seemed most likely) where she can get a very cheap phone number, technically in the old area code, but that she has ample access to from wherever, probably over the Internet so she doesn't spend all her mobile minutes checking voice mail.

Hope that helps, and thanks for asking. Carry on...
posted by SuperNova at 11:38 PM on July 9, 2006

Here's an on-line registration for swimming lessons, etc. Maybe that will give you some ideas.
posted by LadyBonita at 12:59 AM on July 10, 2006

This thread seems to be about a similar issue, might help.

But if nothing in that thread works for you, JPigford has a point, it's a custom web application you're asking for, not hard for a PHP/Perl/Ruby/whatever programmer to create, of course, but still, quite a few hours work. You might get someone to create it for you for a class or college project, but that's maybe the only way you're getting that much work "very very low priced".

Do you have hosting?

The PayPal thing is quite simple. Anyone can set up to be paid by PayPal, so as long as your customers are OK with it, it shouldn't be a problem.
posted by AmbroseChapel at 12:59 AM on July 10, 2006

Except for payment, this is about as easy as web apps get. Payment gets a little bit complicated when you have to verify that someone has paid programatically, but if you nix that, it all works very well with something like paypal.

My off-the-top-of-my-head solution for this would be to write it in ASP.NET/C#, backed with SQL Server Express (free). The IDE makes it extremely easy to hook everything up properly, and it sounds like there's very little logic involved. The trick for that would be hosting, though.

Its still a short PHP/MySQL/pgSQL script, just not quite as convenient.

Again, though, you're not going to find someone to do this for free (especially if its for a commercial thing).

Re VoIP, Asterisk supports a couple of VoIP protocols, and is just about the standard for opensource (read: you don't have to buy a massive solution, and if you have the time to learn it, you don't have to pay someone else) PBX software. Its kind of a bitch to use though, so its not something you can just whip out.
posted by devilsbrigade at 1:14 AM on July 10, 2006

I'd reccomend hacking this together quickly in zope. You can get free hosting at freezope. Its easier for new web app developers to get up and running with zope than php, IMHO, if you're starting from scratch. Zope has lots of magic that makes developing small, one-off web apps like this simple... you don't need a database and can build the whole thing just using your browser, testing with one click the whole time. If you want to do this, download python (the language zope is written in) and run through its tutorial, which should take 1-2 hours. Then get a freezope zope account (zope, not plone) and run through the zope tutorial (the builtin, interactive tutorial, which you create by adding a tutorial product inside your app, not the zope book, which is really long)... should take about 2 hours again. Then, when you build the app, store your schedule data in a tinytable (tinytables are one of the zope products that freezope offers... see the zope tutorial for an explanation of what products are). It should be pretty simple... you can even give people usernames and passwords with basically 15 seconds of effort if you want, although you may not need that. My email's in my profile if you have any questions.

You can download zope to your own machine to test it out too, but if you do, get zope 2.9, not one of the 3.x releases.
posted by gsteff at 2:42 AM on July 10, 2006

Just learn PHP. It's easy.
posted by reklaw at 4:04 AM on July 10, 2006

Whipping something together like this wouldn't be that hard... probably less than a week of work, including some polish time.

Doing it well and securely, on the other hand, would be quite difficult. Security is hard. Security when talking to databases is extra hard. Security when talking to databases and dealing with money is extremely hard. You're just begging for problems, from fraud to stolen payment information to outright identity theft. Once you deploy something like this, especially if you use a complex framework like zope, you have to watch the bug reports like a hawk, and be ready to patch on a few hours' notice. And pray you did it absolutely perfectly, because if you make even one mistake, just one, your whole database can be compromised.

Basically... the fact that you're asking the question of how to go about doing this means you shouldn't be doing it at all. If you bull ahead and do it anyway, remember you're risking OTHER PEOPLE'S DATA, not just yours. And dear God, don't do payments that way. Do those through good old fashioned paper checks. Or hire a real programmer to set you up with a web clearinghouse of some kind.

Don't try to deal with money on the Web if you are an amateur. Hire a professional.
posted by Malor at 4:07 AM on July 10, 2006

Wufoo lets you make forms with no programming knowledge. When content is submitted it goes straight into some sort of database. It's a bit basic, but they do have a free account available.

On the other hand, if you wanted something more robust and could spend a bit of money, let me plug the web-based database app I've helped design, Dabble DB. You set up your application as you like, and you can provide external forms for people to input their data. We do offer a 1 month free trial for you to decide if it's worth the price.
posted by attaboy at 6:41 AM on July 10, 2006

This is a classic "I want $10,000 worth of product for $10 of my money" question.

Worth repeating.

Don't try to deal with money on the Web if you are an amateur.

Also worth repeating.

My advice? Start small. Give her an online calendar she can plug her class info into. Each class can link to a simple sign-up form that emails her the info. If the class is full, she can just mark it on the back-end so that the sign-up link is replaced with "FULL". Her confirmation email can state that payment is due at the first class, or whenever.

That should cover 90% of her needs.

When you've shaken this out, the next step is payment. I suggest Paypal, as their API is extremely simple (you essentially just pass form fields to it, which can contain any data you want).

Once you've gotten that process, the next step is to close the loop by having your calendar app store contact info, know how many people have registered, and close the class automatically if needed.

Small steps, my friend. Small steps...
posted by mkultra at 8:01 AM on July 10, 2006

I've never used these but a few months ago my friends wanted to build a registration system for a basketball tournament to I googled some simple form building/hosting sites for him:
posted by exhilaration at 10:10 AM on July 10, 2006

If you decide to price commercial options, QuickEnrollment handles these specific tasks.
posted by sacre_bleu at 10:25 AM on July 10, 2006

Not gonna get into the $ on the web thing, although it shouldn't be too bad if you do it all with Paypal. VOIP, OTOH, is easy. Use Gizmo - it's pretty cheap for calling in and out, it has a decent UI, and if you want to do a phone menu (and feel a bit ambitious), it's supposed to be pretty easy to set it up with Asterisk, which is a Free/OSS PBX package.
posted by spaceman_spiff at 11:03 AM on July 10, 2006

« Older Hey, where did everyone go?   |   How best to share an old booklet online? Newer »
This thread is closed to new comments.