Creating a social networking/ dating site with CI general advice |
[eluser]Andy78[/eluser]
Hi Iv been looking into php rapid app development frameworks for while as well as CMS systems like Joomla. I stumbled across CI and it seems like the best most well balanced framework for me. Iv only been learning ci for about a week but I got the basics down, I plan to develop a social dating and I'm looking for general advice on the best way to go about this using CI. I think Ill start by developing the user registration, login and access level functionality first then move onto the people to people relationships and so on. Firstly is there an existing library or helper that would be particularly suited to handling the user registration, login and access levels of this type of site? Id like to be able to set access levels such as user, paid user, admin and so on. I'm not sure how much of this id have to develop from scratch using ci yet so all advice is welcome.
[eluser]tonanbarbarian[/eluser]
there is another option, you can use CI as the framework to build your app inside another CMS like joomla. I have done this before and it cuts down on having to build your own security / login code etc.
[eluser]iloveci[/eluser]
There are some pre-made auth systems in the ignited code forum, look for ion auth. However as your system requires additional complexity you may want to just write your own from scratch.
[eluser]Andy78[/eluser]
That would be pointless in the case of Joomla since it has its own MVC framework built in which I can already develop in, Id be as well just developing my site as a Joomla component and there is already 3 or 4 social networking components for Joomla. Joomla handles all login and security for if you stick to its framework. But joomla is far too bloated, I'm trying to avoid using it basically. I guess Ill just get investigating CI for now.
[eluser]phpserver[/eluser]
[quote author="Andy78" date="1288255717"]Hi Iv been looking into php rapid app development frameworks for while as well as CMS systems like Joomla. I stumbled across CI and it seems like the best most well balanced framework for me. Iv only been learning ci for about a week but I got the basics down, I plan to develop a social dating and I'm looking for general advice on the best way to go about this using CI. I think Ill start by developing the user registration, login and access level functionality first then move onto the people to people relationships and so on. Firstly is there an existing library or helper that would be particularly suited to handling the user registration, login and access levels of this type of site? Id like to be able to set access levels such as user, paid user, admin and so on. I'm not sure how much of this id have to develop from scratch using ci yet so all advice is welcome.[/quote] Hi Andy,the fact that you have used codeigniter for a week is at times not enough time to get well acquainted with most codeigniter features for you to embark on such an ambitious project and this is why.I have written a blog on what an ordinary developer would require for his or her own projects.You can read it at http://designrules.tumblr.com/ If you read the blog,you will see,it will require more than popular and highly recommended codeigniter libraries,helpers and hacks to get your project off the ground.I wish you the best as you build your software.
[eluser]Mischievous[/eluser]
Personally, nothing against any of the authors of plugins or components built for Codeigniter. Build your own, it will be easier to get it just the way you want... without having to modify someone else's code. User authentication class maybe takes a couple days to build out? The only component I would suggest is Modular Seperation. Suggestion: Grab a copy of Codeigniter 2.0 from GitHub and then grab Philsturgions hack to modular seperation to port it to codeigniter 2. Then begin your work... Setup your basics first... your gonna need a template engine etc... but I would suggest roughing out your database schema first. that will tell you how you need to build your models/classes and how the system needs to interact. Think about all the posssibilities and pre-plan pre-plan pre-plan. Just my 2 cents ![]()
[eluser]Andy78[/eluser]
I already have the basic database schema worked out so I'm ok on that front, Any suggestions for a template engine? I was going to just create views for the various parts of the site and include them in the main view. If I started in the current version would it be difficult to port it to version 2.0 when it is released ? Modular Separation can you explain in a bit more depth exactly how this is gonna benefit my project?
[eluser]phpserver[/eluser]
Well,upgrading to 2.0 won't be a problem.If you google 'upgrading codeigniter 1.7.2 to 2.0' you will find a solution on how to upgrade.Modular separation is useful on many levels depending on how you approach it.Have a look at http://codeigniter.com/wiki/Matchbox/ .In your social dating application you may need to add some functionality without having to add another controller or another function to an existing controller. That's where modular separation comes in.You can create a module and mind you a module will contain libraries,models,controllers and even views.If you look at matchbox you will get the idea.There are several modular separation libraries available to you,so you may have a look at them. For a templating solution: Simple: http://maestric.com/doc/php/codeigniter_template Advanced: http://codeigniter.com/wiki/Ocular_Layout_Library/
[eluser]Andy78[/eluser]
Ok there is quite a bit of information to take in here which is over and above the standard codeigniter stuff, Im still trying to understand all this. Take a look at this joomla site I used to run: joomlaplazza You will notice that the template is split into two columns right and left and within each column the actual sits functionality is split up into lots of little individual modules such as latest posts, who's on-line and so on. How would this sort of website design be done in codeigniter? For example would a template engine be enough to display each of the modules as views within the master template or would I have to use a modular separation extension to create each of the modules. Or could either be used but modular separation would be best? My social dating will have a similar structure to the joomlaplazza site so im just trying to understand how to begin really.
[eluser]phpserver[/eluser]
First of all its important you have a look at ocular user guide from here:http://code.google.com/p/ocular/ In the case of joomlaplaza,the page is broken into various sections like head,navigation,content(under content we have several sub sections like member showcase,latest news and so on). This is the work of divs and the dynamic content is served by modules.Suppose joomlaplaza is being maintained by a number of developers.Its only logical for the leader to assign different people different modules to maintain and the alternative is assigning each developer his/her own controller.Modules like latest news,forums and stuff are put in the third_party folder. The Latest News section can be processed by the latest news module or you could have a controller for it,but again the project is very huge.With this many sections to take care of ,you may end up with very many controllers. I can never explain everything in a post,see the numerous topics on modules usage and templating solutions available.If you have anything more you wanna ask,you could pm me and i will be glad to help. |
Welcome Guest, Not a member yet? Register Sign In |