Cómo desarrollar un sitio web como quora.com

El enlace de Manjo es genial. Sin embargo, si está entrando en esto con pocos antecedentes, encontrará la información bastante abrumadora.

Entonces, construir un sitio como Quora tiene dos fases. La primera fase es construir algo que funcione como Quora. Y la segunda fase es reconstruirlo para que pueda manejar a millones de usuarios.

Entonces, al principio solo debes enfocarte en la fase uno como programador por primera vez. Dicho esto, parte de la información en el enlace, como tener archivos CSS / JS externos, son solo buenas prácticas que debe seguir (aunque podrían hacer que las pruebas sean un poco difíciles al principio si no comprende los problemas de almacenamiento en caché del navegador) .

Todos los sitios web modernos tienen cierta arquitectura común. Puede dividirlo en dos componentes principales: del lado del servidor y del lado del cliente.

En el lado del servidor:
Hay una base de datos. Aquí es donde almacena todas las preguntas, respuestas, su información sobre los usuarios, el número de votos, etc. La base de datos de elección es MySQL. Por lo tanto, necesitaría lo básico para instalar MySQL, y algunos conceptos básicos sobre bases de datos, como tablas, índices y el lenguaje de interactuar con bases de datos en forma de MySQL. Sin embargo, al principio podrías escapar de esta parte de varias maneras:

Utilizo un PAAS (plataforma como servicio), este es básicamente un servicio de base de datos disponible para su uso y todo lo que le preocupa es su modelo.
2 usa un ORM (mapeo relacional de objetos) básicamente es un conjunto de código existente que conecta sus objetos (usuarios, preguntas, etc.) en un relacional (estructura de base de datos) sin preocuparse por SQL y solo se enfoca en el lenguaje de su servidor de aplicaciones.

Ahora necesita algún tipo de lógica en el servidor (por ejemplo, la capacidad de votar y aumentar el puntaje del voto en +1 por cada voto positivo). Los rieles (aún más populares) en Ruby, o Django con Python son básicamente marcos que toman gran parte del trabajo más común y te hacen concentrarte solo en la lógica de tu aplicación. Entonces, no solo necesitarías aprender Ruby (el lenguaje de programación) sino que también deberías aprender el marco Rails.

Al igual que con las bases de datos, existen opciones de PAAS que eliminan gran parte del trabajo inicial de hospedaje. Heroku sigue siendo muy popular y le permite alojar un sitio completo sin preocuparse por la instalación, los servidores, etc.

Lado del cliente:

Esto es básicamente donde los usuarios interactúan con su sitio. Cada vez más clientes están haciendo mucho más trabajo para mejorar la experiencia del usuario. Principalmente en la percepción de qué tan receptivo es un sitio. Por cierto, hay dos clientes principales ahora. Móvil que podría estar basado en HTML / Javascript / CSS o nativo (aim-c / swift en iPhone o Java en Android) O basado en la web que será HTML / Javascript / CSS. Entonces, lo mínimo que necesita para aprender los conceptos básicos de HTML / CSS y javascript. Para comenzar, puede usar Boostrap para minimizar la cantidad de CSS y HTML que necesita aprender y tener más tiempo para concentrarse en Javascript. Con javascript necesita aprender los conceptos básicos, pero también aprender marcos y bibliotecas que le faciliten la vida. JQuery es un buen comienzo. Si te vuelves aventurero, puedes aprender sobre Angular o React (que creo que es más fácil de aprender).

Ahora, si tiene poco tiempo, puede concentrarse en Javascript y HTML y crear todo, desde el lado del servidor hasta el lado del cliente, utilizando Meteor

Buena suerte.

Es fácil construir un sitio web como quora.

Pero es muy difícil obtener popularidad para su sitio web si no puede proporcionar algunas características especiales que no están disponibles en quora.

Necesita un gran marketing para su sitio web para que muchas personas lo noten en los primeros días.

Puede desarrollar fácilmente un sitio web con WordPress, siga los tutoriales de WordPress sobre cómo desarrollar sitios web de intercambio de datos o foros. Obtendrá una idea clara sobre el desarrollo del sitio web.

Obtenga más información sobre cómo administrar grandes cantidades de datos y tráfico.

En este tipo de sitios web donde hay casi miles de personas que usan esto al mismo tiempo, debería poder proporcionar una buena velocidad a su sitio web.

Se debe tener cuidado de que el sitio nunca se bloquee. Obtenga un buen socio de alojamiento con más ancho de banda para que puedan manejar su gran cantidad de tráfico.

También puede contratar empresas para crear sitios web, empresas para publicitar su sitio web.

SEO es lo principal en lo que debes concentrarte en primer lugar, porque sin SEO nadie reconocerá tu sitio en los motores de búsqueda.

Te daré una respuesta específica paso a paso

  1. Aprende a programar
  1. ir a codecademy y tomar el curso de python
  2. trabajar en otro libro de Python y obtener los fundamentos de Python
  • Aprende un marco web
    1. Vaya al sitio oficial de Django y siga el tutorial allí (me llevó varias veces pasar por el tutorial para comprender)
    2. Un subconjunto de un marco web está aprendiendo sobre bases de datos y API
  • Aprenda sobre el alojamiento
    1. Echa un vistazo a uno de los siguientes: Digital Ocean, Google App Engine, AWS
    1. Vaya a la documentación respectiva sobre cómo configurar una aplicación django en cualquiera de estos
  • Sin embargo, un método alternativo más fácil es alojar en Heroku ya que hay mucha automatización integrada en Heroku; Creo que aprender una plataforma de alojamiento ‘real’
  • Aprenda sobre los idiomas frontales
    1. encuentre tutoriales en línea para HTML / CSS / JS (también puede usar codecademy para esto)
  • Combina tus conocimientos en 1,2,3,4 para crear tu sitio web.
  • Nivel de dificultad: hay mucho que aprender. Debe aprender 2 lenguajes de script (python / javascript), 2 lenguajes frontales (HTML / CSS), un marco web (django), lenguaje de base de datos (postgresql, sqlite o MYSQL), cómo funcionan las API y finalmente Devops para alojar Tú sitio. Yo diría que nivel de dificultad: DURO. Especialmente si no tienes experiencia. Diría que te tomará 1 año aprender todo el conocimiento para hacer un sitio completamente desarrollado por tu cuenta. ¡Buena suerte!

    En los pasos (del 1 al 4 se puede hacer simultáneamente si trabaja muy duro, no tiene una familia y no tiene un trabajo diario):

    1. Tómese unos años para ser bueno en el diseño visual, comprender la usabilidad y cómo aplicarlo y probarlo, saber cómo organizar la información y las interacciones en flujos, y diseñar formas y contenido.
    2. Tómese unos años para aprender el código front-end, principalmente HTML / CSS / JavaScript, al menos a un nivel competente, preferiblemente experto.
    3. Tómese unos años para aprender el código del lado del servidor. Deberá elegir un idioma, lo que afecta la decisión de usar un IDE, por lo que primero deberá informarse sobre las diversas opciones.
    4. Tómese unos años para aprender a diseñar y mantener una base de datos.
    5. Tómese unos años para construir un sitio web similar a Quora.
    6. Lucro.

    O,

    1. Aprende a escribir un plan de negocios.
    2. Aprenda cómo hacer que las personas inviertan en dicho plan de negocios.
    3. Aprenda qué tipo de roles necesita contratar.
    4. Aprende a contratar personas.
    5. Contratar a dichas personas.
    6. Administrar dichas personas.
    7. Aprende a gestionar proyectos.
    8. Construya un sitio web similar a Quora.
    9. Lucro.