views:

509

answers:

15

I have an idea for a web site that's is similar to StackOverFlow. In other words, a place to make questions and to obtain answers, but for a different subject area of StackOverflow. I have good skills with delphi for win 32 and some with Firebird and something in Java. Nothing for web.

The problem is that I don't know how to plan this, how to plan the DataBase, what is the best development tool that I have to learn (PHP, Asp.net, Ruby, Python, etc.)

Off course that I don't have money to pay for someone do it for me.

Thanks in advance

A: 

Learn to program for the web? Note that as a beginner in this area you will have a long development process, especially if you're not au-fait with databases, MVC, etc).

Or you could license an already-working web product that does what you want?

JeeBee
I don't have money. I'll have to learn :-)
O Engenheiro
+5  A: 

You have never done anything on the web? Perhaps W3Schools is a good place to start.

Specifically:

Andrew Hare
+9  A: 

Wait until SO do hosted stackoverflow ...

Remember though, there are probably 1.2million people also having the same thought process as you so think carefully before you plunder time and cash into learning web development. :)

Aiden Bell
"Web" is just a platform, that can be used for any kind of software. The specifics with regards to programming are very easy, so the time investment is tiny (as compared to things like AI programming).
HeavyWave
@HeavyWave -- This I know. I was referring to the time required to produce *good* web applications, rather than just the server-side programming aspect, protocols, databases or anything else. Good applications integrate all components in a specific way resulting in a produce greater than the sum of its parts.
Aiden Bell
A: 

First of all, you should analyze the requirements of the subject. Being this a user community based on reputation, you should add that to the attributes of the users, and start designing a database based on those details.

When you have covered a functional database design, you can start making security decisions on which platform do you want to develop it.

That's as far as I could make a comment on this topic, since it's quite ambiguous.

darksonxd
A: 

You got a couple of options:

  1. Get an out of the box forum engine (Examples phpBB, VBulletin)
  2. Get a web development framework and do it yourself (Examples PHP, ASP.NET, Ruby on Rails)

Then you'll need a domain host (just Google for domain hosting) to run your website on.

The finer details are beyond the scope of this post, there are many books on the subject depending on what option you choose above, so final step is to search for website tutorials, search online bookstores or visit your library.

HollyStyles
Ruby on Rails I think that is nice
O Engenheiro
+1  A: 

It will likely take years to learn all the technologies you will need to implement. Start with research into databases and web programming. Personally, I prefer PHP, but there are many alternatives. Google is your friend. Search out the tutorials, be diligent, and be patient.

You also have the option of hiring a company or professional to do the heavy lifting for you, but it will be very expensive.

Abinadi
Yes, I don't have money.
O Engenheiro
A: 

Are you interested in

  1. learning how to build a website like stackoverflow
  2. trying to help a particular technical field?

If 1 then you will need to choose a web framework and program the site for that. If you know a language well already you should probably try one of the frameworks in that language. If not you could go for the ever popular Ruby on Rails or something like Django in python.

If 2 then the people behind this site have an engine that can be targetted at any technical field. They just launched [Server fault][1] with the engine. You could ask them if they would license the engine to you.

Ed Sykes
My case is the first
O Engenheiro
A: 

Download an open source alternative to Stack Overflow and install it. Then customize it, learning how to program it yourself and doing that well will cost you a lot of time when starting from scratch and the results will probably be less then satisfactory.

An example is Stacked.

Mischa Kroon
+2  A: 

Creating a site like StackOverflow is, while hardly brain science or rocket surgery, not something I would recommend for a complete beginner unless you have a lot of time to spend on the project as you will need to learn the relevant server-side skills (i.e. some programming language for the logic layer and database for storage if you are not familiar with DBs elsewhere), client side coding (javascript and DOM), the masses of security issues that you will need to be aware of, and (if you want your site to hit the big time) scalability issues.

If you want to do this as a learning exercise more than anything else then it is probably a good choice of project, but if you are looking to get a decent quality site up and running in good time you would be far better off searching for an existing solution that comes close to what you want - there are no doubt many F/OSS projects out there that at least come close.

As for further advice on how to make the first steps, you would need to let us know where you are starting from. What previous programmnig/design experience do you have? In what languages and environments? Much database knowledge/experience? With multi-user systems? Do you have any OS/environment preferences? ...?

David Spillett
I have good skills with Delphi for win32 and Firebird SQL.
O Engenheiro
+9  A: 

Put these together:

Done.

altCognito
+1 because this is the only contructive and realistic answer of all the stack. Still not SO, bu probably as close as he'd could ever be.
e-satis
Right, it won't be as nice as SO, but if he's gotta do it on his own, this is the way to go.
altCognito
+12  A: 
chaos
+1. But you must admint that you all tried to code something to big for our skill one day. Maybe just not that much :-)
e-satis
+1 I coded a network tank battle game using VB ... Moving UI controls flicker alot :) Those were the days ;)
Aiden Bell
I've been wanting to develop an embeddable scripting language for fun for ages, I just lose motivation after starting to code the API's public header :P
Nick Bedford
@Nick Bedford ... same here. I get to the AST and then start something else. I will finish it one day.
Aiden Bell
A: 

Learn to make web applications, using your preferred technology (you can do this in php/mysql for example). A book I learnt quite a lot from is "Practical Php and Mysql" by Jono Bacon, despite the typos, but there are plenty of text books to set you on your way. I have to echo the comments above - it's not just learning how to design and implement the database structure; you also have to make your client side coding secure and efficient. Then, you have to consider hosting options and scalability. Lastly, if you're looking to make the site successful you're going to need some knowledge of marketing/seo etc. Having said all this, I'd say go ahead (assuming you have the time and resources to pursue this). You're going to learn an awful lot (a lot of the time through making mistakes). If you do manage to get your site up and running, you'll have something to be proud of. Good luck!

DBMarcos99
A: 

Well stackoverflow is developed using Asp.net MVC , linq for data access and MS sql server so you need to learn these technologies :) or other web technologies maybe PHP or Ruby on rails ...

check this they have lot of videos in many skills levels and diffrent technologies

Yassir
A: 

There's a series of articles going on at Engineered Web about turning Drupal into a Stack Overflow clone: http://engineeredweb.com/blog/09/11/building-stack-overflow-clone-drupal-part-1

It's ongoing, they're only at part 2 at the moment.

Brian Ortiz
A: 

Now we have stack exchange!!! If you have a good theme with good audience, you can have a site like stack overflow.

O Engenheiro