Sunday, March 12, 2006

Revolutionary Social Networking Community: Introducing Adoppt Alpha

Social Networking
When earlier this year I applied to speak at MySQL UC 2006, I submitted a proposal to talk about how applications can be scaled if they are planned properly.

What I really had in mind was to discuss my upcoming project Adoppt and the "secret" techniques/approaches I took to build a highly scalable/replicatable application using just one database.

After having designed and developed many, many systems in different industries using various platforms and languages, I have found designing the database structure to be one of the most important factors in designing a successful application.

Unfortunately, MySQL didn't accept my proposal to speak at the conference. Maybe I just didn't describe my proposal fully enough.

So what is Adoppt? And more importantly why did I think it's important to talk about?

Adoppt is a fully replicatable social networking community system that utilizes Web 2.0 technologies such as AJAX and is built using Ruby on Rails. And the database backend is of course nothing else but MySQL 5. The full text search feature is currently in implementation phase and is developed using Lucene. Thanks to Ruby on Rails, I completed the application in a month and a half.

When I say fully replicatable, I mean it. With a click of the mouse (insertion of one record in the database) the entire system can be reproduced. No publishing necessary. It all happens in an instant.

Adoppt takes the idea of social networking to a whole new level. There are communities that are created by the administrators in which members can participate in multiple areas.

For instance, there is a MySQL community at Adoppt which comes with MySQL blogs, MySQL Q&A facility, MySQL forums, MySQL favorites, MySQL tags and resources and much more. All members of Adoppt can participate in any of these areas and become friends with each other.

On top of that any member can create a MySQL community of their own where they become the community owner. Their community will have all the same features as the community created by the administrator with the exception of resources. A member may want to create their own community so that they can keep track of stuff that matters to them and organize a smaller set of information than the larger community. For instance, a member may want to build his/her own collection of discussions, blogs, favorites and answers.

People can join all communities at will and can then participate in what's going on in those communities.

Adoppt is created using one database and so far has 33 tables. The database is fully normalized.

In the coming days I will publish more information about various features of Adoppt and how the tables/queries were designed.

For now, you are invited to come and join the site. I would love to hear comments and suggestions from the MySQL gurus here. Please do keep in mind the site is in Alpha so there may be some unexpected happenings. Please let me know if you find a bug.

Thank you very much for your interest.

You can go to Adoppt to sign up or Adoppt Blog to get the latest updates.



Roland Bouman said...

Hi Frank,

just checking out Adoppt. Look cool, but I'm getting errors:


Roland Bouman said...
This comment has been removed by a blog administrator.
Frankly Speaking! said...

Hello Roland,

Thank you so much for your kind words and for reporting the error.

The mail server that processes the emails was blocking relay and that's why you got the error. This issue has now been fixed and we have created a test account with a hotmail address.

During the Alpha phase I plan to keep error reporting on so friends like you can help me find and fix errors.

I am also making a credits page and will be putting your name along with other testers as a show of my appreciation.

P.S. Once you sign up please claim your blog.

Frankly Speaking! said...

Hey Roland,
I removed the detail log comment since it had your email address in it and didn't want you to get spammed by bots.

I will be posting a link to Bugzilla/Wiki for this project soon.