A few days ago, after talking with Manuel Ruiz Hurtado and Ernesto Quiñones Azcárate in a small meeting to see what was the current status of large e-learning push projects in Peru, I realised the importance of having an e-commerce tool related to course contents for Dokeos and other e-learning systems. E-commerce, yes, but most of all C2C (Customer to Customer or Consumer to Consumer depending on taste), in the likes of e-bay.
Selling an e-learning portal doesn’t go without selling courses, at least for a large company or institution.
At the same time, open-source projects in the field of e-commerce are pretty much limited to b2c (Business to Consumer). OSCommerce or various plugins for Drupal or Joomla are all oriented at B2C whereas I want to develop a product for C2C (Consumer to Consumer) in the sort of e-bay. Apparently, this hasn’t been thought of until now.
So I’ve decided I would dedicate what’s left of my time to develop this project. The objective is to have a first working version ready at the end of May and start implementing it to sell courses.
I also think it would be good to use CakePHP or even better, Akelos, for that, so all that’s missing until now is a plan of action.
Talking about a plan of action, I’m starting to think about the database design for the project. It should manage users and products, as well as amounts of money held for each user, votes, product formats, language and categories…
- A nice name (OpenC2C doesn’t seem to be taken, which is a good start)
- API documentation
- Public website (Sourceforge for starters)
- Clear CSS division/screen map
- 2 basic CSS themes
- Database diagram
- Easy install
- Object-oriented structure
- Each table must have a unique ID/primary key
- Use CakePHP/Akelos naming conventions to avoid problems (alphabetic order, plural names, …)
- Make large tables non-dynamic in size (no varchar)
- Use database layer (at least MySQL and PostgreSQL must be supported)
- Use a timestamp and a user ID for *everything* (maybe use a separate table for that, to make sure the load on the main tables is not too important)
I have started working on this with Akelos and I’m about to finish the initial database structure. After that (and once I understand Akelos a bit better) I will start adding putting all this into the SourceForge SVN account I created for that.