DIY Social Network Website

Discussion in 'Web Design and Development' started by lucylee00, Oct 11, 2011.

  1. lucylee00 macrumors newbie

    Oct 11, 2011
    I am looking to start my own social network. I want to do it myself. What programs are the best? Please help. Thank You :)
  2. tehprofessor, Oct 11, 2011
    Last edited: Oct 11, 2011

    tehprofessor macrumors newbie

    Oct 11, 2011
    Textmate or Macvim

    You're not going to be able to use a program, you're going to have to actually program. Making a social network requires logic; which, you're going to have to write yourself. Any program which 'makes' social networks, if such a thing exists, probably isn't going to do a good job or assumes you can program it to do what you want.

    If you've never done any programming before, you're going to have quite a bit of learning to do. I would highly suggest, from my own experience, to learn Ruby or PHP (preferably Ruby since I think it's a better language to program in, much easier than PHP, with way less syntax). Though PHP may be easier to get started with since it is prolific on the web (I picked up PHP in a couple weeks, but I already knew Ruby) with a million examples.

    Building a simple social-network can be a lot of fun and a good learning experience, but it's not something you'll be able to do overnight or quickly. Websites are easy, web-applications are not. Testing different browsers, and operating systems takes time, and is unfun.

    I might suggest learning objective-c instead, and making an application. Websites just ain't what they used to be (I've been making 'em since 2004).

    Some things you're gonna need:

    mySQL, SQLite, or Postgre for the database. I'd suggest mysql for no reason other than that's what most of the tutorials you're gonna find will use. For a real social network I might suggest against a RDMS for something like MongoDB but that's probably overkill and will surely increase the learning curve sharply.

    I'd suggest Textmate or Macvim (with the Janus plugin). I used to use TextMate but it has been slow to receive updates and Macvim is free plus it has split window editing which is really handy. Any good text-editor should support syntax highlighting to help you read the code by color-coding it. This also helps when you've forgotten to close something, because the colors go wonky.

    Version Control
    As you're writing code, you'll probably screw up, and wish you had a backup. That's where Git or SVN come in handy, they let you create a repository that you 'check into' which stores your code. I'd suggest Git since it's what all the hip-kids are using these days... Plus it has some features that are definitely missing in SVN (last I checked, or maybe I just didn't get 'em).

    Command Line (Terminal)
    You'd better be ready to get down with terminal, because just about every tool you're going to use will be easier to use and more robust if used from it. Trust me, it's weird at first, but GUIs will slow you down and make your progress slow and frustrating.

    If you're going to be developing on a Mac, which I presume you are, you'll need to install Xcode before you do just about anything else... I'd suggest just downloading the newest one.

    Macports or Brew
    These programs (choose one or the other, Brew seems to be gaining popularity) let you download and install applications that run in the terminal. You don't have to worry about which flags and compiling this way, it's taken care of for you.

    If you're going to go the PHP route, I'd highly suggest using MAMP (don't bother with the pro version). As it's stupid easy to get started and includes PHP with mySQL plus some other neat tools built in (like phpMyAdmin).

    I'd use either for shared hosting, or for a VPS (virtual private server). The choice is up to you, a shared host will be much easier to setup but will probably become slow as your site gets more traffic. A VPS can be configured, and must be, by you to your needs. I would probably avoid this until you're feeling good about terminal, since that's where you'll be setting it up from.

    If you're using Ruby, I'd suggest Ruby On Rails, if you're using php, I'd suggest codeigniter or cakePHP. Frameworks have a bunch of code written to help you get started actually creating your website/web-application. I'd definitely take the time to choose a language first and spend some time with it before you dive into a framework, or you'll probably be quickly overwhelmed.

    Final thoughts...

    This is going to take you quite a while the first time, and realize that deploying it to a server is a whole new bag of worms. Especially if you're the one choosing the web-server software (using a VPS).

    Almost forgot:
    You're pretty much going to have to become a CSS/HTML ninja; which sounds a lot more bad ass than it really is. CSS/HTML is relatively, to the rest of this, simple. You'll mostly be memorizing tags, properties, and attributes not trying to understand functionality.
  3. lucylee00 thread starter macrumors newbie

    Oct 11, 2011
    Thank You

    Wow, Thank you. This information gives me a lot of options to think about. Thank you so much for the help. :)
  4. 7031 macrumors 6502


    Apr 6, 2007
    Seconded. However, if you have money to spend, SocialEngine is quite nice. I know at least one of my clients uses it, however it does cost around $300.

    Having said that, the BuddyPress sites are very good, although as far as I'm aware the choice of themes is quite limited with BuddyPress, although even the default one works fine and is easily customised.
  5. FourCandles macrumors 6502a

    Feb 10, 2009
    Thirded. And whether or not you want to write your own theme, have a look at the Genesis Framework from StudioPress, who also offer some nice integration between the BuddyPress plugin and their themes.

    You can use an off-the shelf "child" theme, customise it, or roll your own child theme using their framework.
  6. lucidmedia macrumors 6502a

    Oct 13, 2008
    Wellington, New Zealand
    I would also throw Drupal into the mix... I find it a bit more flexible and expandable that Wordpress, particularly for large-scale implementations...

    and if you are looking for something simpler, try Ning...

Share This Page