Age-old question - What Framework should I learn and use for my project?

eitai2001

Expert Member
Joined
Aug 17, 2007
Messages
4,329
Reaction score
2
Location
Jhb
Hi Guys.

So to keep things simple, I want to start something next year and will probably have to program it myself, because I'm not going to waste my time asking for developers to partner up with ... it never works out :p

So this is the basics of what the site will do:

1) Some basic content, possibly a CMS element, but not overly complex and definitely not the level of content you would expect on a wordpress based website.
2) Credit Card integration - credit cards will need to be stored, I'm guessing thus integration with separate databases dedicated to holding specific information only so that it isn't all in 1 place? Credit cards will have the ability to be rerun on certain dates too, so I'm guessing cron-jobs here?
3) Address and billing detail storage
4) Custom designed client area's showing specific information
5) No shopping cart necessary, you can only purchase 1 of maybe 3 or so items at a time, although with the ability to adjust quantity (In my head, you select the option, go to next page which is to enter details and confirm quantity, go to next page which is credit card details and wham bam, thank you ma'am!
6) Ability to create future custom add-on's anything from competitions to related basic games or whatever integrated with your client account (Just random examples).
7) Design must be fluid, database updates without redirecting (So Ajax? and decent "view" options)

So this is no simple task, I know ... and I have never designed anything from the ground up, ever (I usually start with wordpress / Magento / etc).

Now I don't want to involve existing CMS platforms, as they are NOT designed for this purpose and will waste resources on nonsense. They will be too clunky for this.

My question is, what Framework should I use? Judging from my needs, the framework I guess? would have to have the following:
a) built-in log-in/authorization system with SSL integration
b) ability to interface with more than 1 database / good database integration to pull CMS content efficiently
c) relatively good front-end structural design ability.
d) Relatively easy for me to pick up on with only a few weeks playing around on it
e) Most importantly!!! The ability to securely transmit Credit Card transactions and parse Credit Card information with minimal likelihood of the code being hacked (Excluding potential for the host to be hacked themselves).

With that said ... I've been looking at a few frameworks. Yii seems quite wholesome, but a bit more of a learning curve perhaps? CakePHP seems to have a decent following, and many websites recommend it. Zend has all the enterprise level I may need, but seems overly complex for me, and possibly too bloated for me? Not even going to pretend I will be able to figure out Symfony :p
So to summarise, I'm thinking CakePHP may solve my woes.

I'd be extremely happy if 1,000 people visit my sight every day, let alone 10,000 or more ... so I'm guessing any performance differences would be a relatively moot point? Unless I do get to 10,000 people a day and can afford to hire a real developer to build ground up :p

Is CakePHP the answer I'm looking for? Any recommendations I can realistically look at. No, I cannot afford a programmer ... so I'm resorting to trying to learn and do it myself.

Keep in mind, I want to keep the design to latest trends I've seen. So for example, I may or may not use 3, 4, 6, 12 and 17 from the following link in my design: http://www.hongkiat.com/blog/web-design-trend-2013/

Thanks in advance for your guidance guys :)

Regards

Itai
 
Good luck with learning all that yourself in a short period of time.

You'd be better off looking at Joomla 3, even though you said you don't want to use a CMS, and integrating a shopping cart. Look at all the options you can install in MS WebMatrix, as well.

Why are you trying to reinvent the wheel?
 
It's doable but you've said yourself that performance wouldn't be an issue so why not shop around a bit for shopping cart / cms type script and if it works out you can hire someone else to make it custom in cakephp or whatever?
 
Good luck with learning all that yourself in a short period of time.

You'd be better off looking at Joomla 3, even though you said you don't want to use a CMS, and integrating a shopping cart. Look at all the options you can install in MS WebMatrix, as well.

Why are you trying to reinvent the wheel?

I only plan to launch next year, but would like to get started learning and developing ASAP.
Not trying to reinvent the wheel, but I feel that a full blow CMS is overkill. I'm not going to be using ecommerce in a typical store way, meaning I would have to rearrange the elements of any per-existing ecommerce system.

In my experience, a downside of big CMS platforms which try so hard to please everyone, is that they are difficult to customize for very specific types of websites. Not impossible, but difficult. In the time it takes me to learn to customize this product to fit exactly how I picture my site, I could probably have gotten very close to developing a ground up solution.

And future additions and customizations may be difficult for me having to get them to specifically plug into Joomla.

In any case, the fact that I want to use a framework is exactly because I don't want to reinvent the wheel.

Take the database for example, Joomla's would be a great deal more tables than I need, which will only confuse matters for me. For the most part for example, I don't need configuration to be stored in the database.

There are very few websites running the business I want to in the world, and if I look at them, I just don't see a typical CMS platform being used.

I appreciate the recommendation though :)
 
It's doable but you've said yourself that performance wouldn't be an issue so why not shop around a bit for shopping cart / cms type script and if it works out you can hire someone else to make it custom in cakephp or whatever?

Three reasons.

1. I feel as if it will be more difficult FOR ME to rewrite the already made ecommerce cart to what I need. I don't need a full blown product system, that will just complicate matters. Also, if I do adjust anything, because I would be placing in a module that overrides core shopping cart modules, I would need to ensure other dependencies aren't affected. These sites are huge in terms of number of files, and dependencies. Just an example of some of the things I would have to take into account not needing in Magento from my experience: Categories, Tags (maybe?), Attributes, Internationalization, configurations for complex shop structures, comparison system, product pages, shopping cart (only checkout would essentially be needed), category pages, rule creation (at least for now), separate specials modules, etc, etc.

2. All I will achieve is being proficient in writing code and/or modules for THAT platform ... Whereas building it ground up with a framework, will teach me how to use that framework to build essentially anything, not just manipulating ecommerce. I genuinely also want to learn to develop something from scratch without having to come ask here for advice how to start out each time :P

3. I can't afford to hire a developer, even to transcode a pre-existing system to a framework. I have a limited amount of capital, want to avoid having to get investors as far as I can, and need that capital for other core areas of the business.
 
Last edited:
So is no one willing to give me advice as to the best Framework :p ... and for those who are still wondering, I'd prefer to reinvent the wheel for my site ... but not completely, I'd like to use a framework ;)

So far, it seems I will go for Cake PHP ... it's well documented, and appears to have encryption classes for credit cards and SSL support.

The other contender is Yii, but V2 is imminent (For stable), and I don't want to start on 1.3 when 2 is around the corner. Problem is the documentation surrounding it.
 
So is no one willing to give me advice as to the best Framework :p ... and for those who are still wondering, I'd prefer to reinvent the wheel for my site ... but not completely, I'd like to use a framework ;)

So far, it seems I will go for Cake PHP ... it's well documented, and appears to have encryption classes for credit cards and SSL support.

The other contender is Yii, but V2 is imminent (For stable), and I don't want to start on 1.3 when 2 is around the corner. Problem is the documentation surrounding it.

Have you seen any Cake PHP ecommerce sites? Coming back to Joomla, have you seen the ecommerce extensions that you get? You don't have to use the full site, you can get away with just using an extension by making it the default landing page.
 
Have you seen any Cake PHP ecommerce sites? Coming back to Joomla, have you seen the ecommerce extensions that you get? You don't have to use the full site, you can get away with just using an extension by making it the default landing page.

I don't know, wouldn't know how to tell the difference :p

Ok, for one ... I hate Joomla with a passion, I tried to start Digital Addiction and then AndroidZA with it ... let's just say it's better than I am :p
Secondly, I don't want to use a traditional e-commerce platform ... extension or not. They are designed for much bigger uses than my site demands.

I appreciate what you are saying, I know it would be "easier" to do it that way, I just do not feel that it would be better for me and for what I want to do.

To keep it simple, you land on the site, decide to "subscribe" to my product, (to start there will be only 1, with some expansion thereafter, but not much), enter your details and that's it. None of that shopfront, shopping basket, categories, product pages, etc. A typical e-commerce site has all that as core ... and to mash it up so drastically is to essentially change the core. Then god forbid you have 1 major upgrade to the software ... I know what that's like.

And if I am not going to use the power that a traditional CMS has, then what's the point ... as far as I know, a framework can do all the same, you just code what you need, versus removing what you don't.
 
Hmmm, have any of you used Kohana. It seems like it might fit my needs. Doesn't seem overly complex, has some very good references which use it (including couchsurfing.org, and two payment websites).

What do you guys think?
 
Just found this for CakePHP ... so if I want to work backwards, the legwork is there: http://vamcart.com/ ... doesn't seem too crap either.

So now I can work backwards and forwards :)
 
out of sheer interest why would you not want to try find a dev to team up with? why does it never work out?

also forget about storing credit cards and cron jobs. storing credit card details is a mission and you can't run a transaction without them approving each time. rather use a debit order
 
Last edited:
out of sheer interest why would you not want to try find a dev to team up with? why does it never work out?

Attempt 1 for a previous idea, eventually nothing came of it: http://mybroadband.co.za/vb/showthr...-Web-Dev-on-a-online-shop-with-a-slight-twist

Attempt 2 for another previous idea, again, nothing came of it: http://mybroadband.co.za/vb/showthread.php/432221-Looking-for-Developer-as-partner

Basically, I'm tired of trying so hard to find a developer and then let a venture disappear simply because no one wants to partner up. The first one I at least didn't have negative responses ... maybe because I said I don't want them. The second one, people were very quick to say why work for "Free" when they have a perfectly good paying job.

I won't sugar coat this ... if I did partner up with a developer, as they would be a shareholder, I would expect the world from them, because I expect the world from myself and other partners too. Most people shy away from this, and there is nothing wrong with that ... but it is very difficult to meet a developer who is willing to dedicate a lot of time to get a company off the ground, and even more difficult to find someone willing to take a risk and leave their job when the site goes live. Obviously, there is good reason for most people not wanting to, but that is the level of dedication I would like. Being an entrepreneur is risky business, and I would never sugar coat that.

For now, I am trying to get into a job, where I will be founding start-ups for a VC firm ... and if that doesn't go well, I will then move into trying to start this gig full time ... hence I WILL quit my job. I will know by the end of the year, but it would not be fair to bring in a developer now to start building the website where I may get my dream job and then can or suspend the idea.
On the other hand, I want something of a website ready to go early next year if I do not get the job.

Did I answer your question :)
 
yeah you did.
you still need to come up with an alternative to credit cards. they're good for one off payments you can't charge them on a recurring schedule. debit orders are what we use at my company that provides a digital service on a subscription fee
 
yeah you did.
you still need to come up with an alternative to credit cards. they're good for one off payments you can't charge them on a recurring schedule. debit orders are what we use at my company that provides a digital service on a subscription fee

Both VCS and I think PayGate (Maybe MyGate?) allow for recurring credit card billing through their API for x amount of times at set time periods i.e. weekly, daily, etc. The latter, though, doesn't allow you to put a stop to the recurring transactions through the API, and you have to log in to the admin area to stop further billings.

Problem is, I need weekly subscriptions ... debit orders are monthly. I also need immediate payment so that a service can start immediately the following week, where a debit order is only run at the end of the month (or whichever date you provide).

Also, this is why I need to be able to store the CC details, probably on a separate database. I e-mailed the companies asking for the rules regarding credit card storage, but haven't received any replies yet.
 
start reading up on pci compliance and third party pci compliant storage solutions.

Thanks, yeah ... I'm gonna do that ... but I think the local gateways might also have their own rules which need to be followed in addition.
 
You don't and shouldn't store credit card data for reoccurring payments. The CVV is definately not allowed to be stored.

The recurring duration is configured at first transaction.

I would also never use a site that has basically zero trust to store any card details
 
Last edited:
You don't and shouldn't store credit card data for reoccurring payments.

I would also never use a site that has basically zero trust to store any card details

I know the API allows for the recurring payment from their side.
But what about the ability to extend your subscription without having to enter your details again? Are there any other solutions that you perhaps know of?

For example, there are many online shops in SA which have the "Select Card xxxxxxxxxxxxxx1234" and enter your secure code again.

So basically, they store the details except the security code ... so that if you want to renew, all you would have to do is enter the security code instead of all the details again.

In terms of trust, from my online experience, I can honestly tell you that it is more the exception than the norm where people won't store their credit card details. I would never have thought so until I ran Digital Addiction ... and that was still when online purchasing with credit cards was very sketchy for most people.

But as always, one would also offer the EFT option, however, you would either have to pay for more than 1 week all up front, or pay every week.
 
Top
Sign up to the MyBroadband newsletter
X