9
votes

Conseils pour la construction d'un site comme Stackoverflow

Pas aussi fantastique une question que vous pouvez vous attendre - si vous avez un développeur Web moyen (nous dirons que son nom est "BOB") avec une bonne quantité de connaissances PHP / mysql / jQuery / Ajax / etc. Sous sa courroie , et vous vouliez recréer un site comme aussi dynamique et aussi complexe que de zéro, quelles sont quelques meilleures pratiques, et combien de temps (heures ou jours) pourriez-vous vous attendre à ce qu'il prenne pour l'obtenir à une bêta assez stable?

Je demande parce que je travaille sur la construction d'un site (certes complètement différent, mais la charge de travail que j'imagine finira par être comparable), et cela semble juste comme ça prend pour toujours. Cela fait environ un mois qui ne travaille pas moins de quelques heures par nuit et il arrive, mais le développement semble juste escalader de manière exponentielle. Chaque nouvelle idée ou bouton apparaît toute une gamme d'autres projets de travail.

J'essaie d'utiliser des bibliothèques pré-fabriquées et des projets open source lorsque je peux, et j'ai examiné à l'aide de CMS comme Drupal / Joomla, mais honnêtement, beaucoup de sites personnalisés sont, bien personnalisés, qui utilisent un CMS visuel juste semblait me retenir.

Être un chèque de paie pour payer un type de personne, je ne pouvais pas me permettre de payer quelqu'un d'autre pour aider, donc au-delà du travail bénévole, je suis plus myle à moi pour faire le site. (Nous avons une communauté microscopique de testeurs volontaires)

Parce que je le sais, car nous ne prévoyons pas de facturer des frais que j'ai construit le site sur PHPBB3. (Fournit l'enregistrement / l'authentification de l'utilisateur, une API de base de données et une fonction de sécurité et un système de modèles complets et une pléthore d'autres caractéristiques .. OH et un forum, heh.)

J'utilise des bibliothèques comme JQuery + UI pour les interactions côté client.

J'essaie de rendre les choses aussi modulaires que possible, de sorte que si je dois renourobire, il ne sera pas une corvée terrible, mais je crains que mon manque d'expérience dans des projets majeurs comme celui-ci soit fatal sur le site succès.

Quelles leçons les gens peuvent-ils être ici offrent et quel type de calendrier devrais-je m'attendre à bien regarder ici?


3 commentaires

Attention à utiliser toutes ces fantastiques morceaux OpenSource OpenSource et les fusionner ensemble peut prendre beaucoup plus de temps que de construire exactement ce dont vous avez besoin (et plus) à partir de zéro. Si vous avez construit cela, cela n'a que vos bugs et vos fonctionnalités. L'expansion il sera tellement plus facile si vous connaissez chaque ligne de code.


Utilisez la version de version. Louer QA (plus spécifiquement des pirates informatiques) pour pirater la merde de votre projet. Meilleures pratiques Meilleures pratiques meilleures pratiques. Ne le construisez pas au sommet du projet de quelqu'un Elesdes (cela vous donnera probablement un mal de tête un jour).


Répliquer Stackoverflow n'est pas difficile (l'interface utilisateur et les outils de support peut-être). Mais votre problème pourrait vraiment simplement mentir à la baser sur PHPBB. Je ne peux pas imaginer que cela aidant beaucoup, en particulier le code d'enregistrement de l'utilisateur, c'est un peu Oldschool et non très openid ou de profil temporaire. Consultez également Open Source Stackoverflow Clones avant de partir de zéro.


3 Réponses :


0
votes

Mon conseil: Au lieu de construire un nouveau site à partir de zéro, proposez un nouveau site dans le réseau Stack Exchange, à http: //area51.stackexchange. com .


1 commentaires

@Denniskriechel: Mieux vaut maintenant? Je pense que ce lien particulier, étant inhérent à la pile d'échange, n'a pas été soumis aux mêmes directives de qualité habituelles que nous utiliserions pour des liens externes: il devrait parler de lui-même, et cela ne va certainement pas nulle part. Mais j'ai ajouté des explications pour annoter ma suggestion.



12
votes

Mais le développement semble juste escalader de manière exponentielle. Chaque nouvelle idée ou bouton apparaît toute une gamme d'autres projets de travail

C'est ce qui cause de la prise pour toujours. Vous devez avoir une ou deux choses, de préférence les deux.

  1. Fixez votre ensemble de fonctionnalités souhaité et arrêtez-vous là-bas. Résistez à l'envie d'étendre votre charge de travail avec chaque nouvelle idée. C'est dur, je sais.
  2. Si vous ne pouvez pas gérer le n ° 1, vous en avez besoin de plus en plus. libérer rapidement et itérer. Il est préférable d'obtenir quelque chose de travail, puis de considérer le reste comme des améliorations plutôt que des caractéristiques d'origine. Même si la charge de travail ne change pas, votre état d'esprit sera et vous vous sentirez beaucoup mieux à ce sujet et plus motivé. En plus, si vous avez des utilisateurs, ils vous aideront à déterminer quelles nouvelles fonctionnalités valent en réalité la peine.

0 commentaires

1
votes

Je ne recommanderais pas un CMS. Je recommanderais d'aller avec un cadre à la place, peut-être quelque chose comme CakePHP ou CECONDIDEIDED. Ils incluent déjà une tonne de bibliothèques intégrées et prêtes à être utilisées. Fait que les choses vont bien plus vite une fois que vous avez compris. Vous avez peut-être toujours besoin d'une bibliothèque JS ou de deux, mais aussi longtemps que vous utilisez le cadre autant que possible, vous ne devriez pas avoir de problèmes si des pratiques appropriées sont suivies.


0 commentaires