Como Criar uma Rede de Mídia Social Como o Facebook: A História de Sucesso

Como Criar uma Rede de Mídia Social Como o Facebook: A História de Sucesso

depois de Terem observado todos os obstáculos e, de acordo com soluções relacionados para o lado do cliente constituinte da rede social de desenvolvimento, vamos ver o que aspectos importantes do lado do servidor deve ser levado em consideração.

desenvolvimento Back-end

Se você construir uma plataforma de mídia social do zero, você quer fazê-la funcionar perfeitamente e reduzir a porcentagem de churn dos usuários., Portanto, é crucial considerar os seguintes aspectos durante o desenvolvimento back-end:

  1. renderização adequada
    • renderização do lado do servidor (SSR)

      esta é uma forma mais tradicional e estática de renderização do conteúdo do site que pode fornecer carga de página atrasada até um par de segundos. Se você está criando blogs ou publicando plataformas de mídia social, tal opção é a única para você, pois não requer resposta rápida e imediata entre as cargas de páginas subsequentes.,

      uma abordagem de renderização é realizada por desenvolvedores back-end em colaboração com ou sem HTML/CSS-coder, com a ajuda de framework Spring, Velocity library, ou outras tecnologias Java eficientes. Além disso, lembre-se que, ao contrário de CSR (renderização do lado cliente), a arquitetura de back-end microservices não é aplicável para SSR; portanto, opte pela arquitetura monolítica.no caso do desenvolvimento do site do Facebook, este tipo de dados exibidos é mais adequado., Tal abordagem é mais dinâmica e ágil e permite a criação de uma rede que irá fornecer-lhe uma rápida renderização do site após a primeira carga inicial.

      a solução CSR é conduzida por desenvolvedores front-end e é normalmente implementada em JavaScript com a ajuda de AngularJS, React.js, ou Vue.js frameworks. Dependendo dos seus requisitos, as arquiteturas back-end monolith e microservices são adequadas para o seu site se você escolher CSR.,

  2. reforço da segurança

  • Structured Query Language (SQL) prevenção da injecção

    os dados sensíveis dos seus utilizadores, tais como detalhes de autenticação e informação do cartão de crédito, podem ser vulneráveis a injecções de SQL em caso de segurança insuficiente. Para evitar tais ataques maliciosos, certifique-se de colocar o driver de banco de dados Java seguro com recurso de declaração preparado que envia consulta e dados para o servidor de banco de dados separadamente, evitando a intervenção de tal ataque nos registros dentro do banco de dados.,

    driver de banco de dados PHP, por exemplo, não fornece tais proteções, então o desenvolvedor deve protegê-lo usando dados de entrada de escape ou alguma outra tecnologia.

    Como você pode ver, a escolha da linguagem de programação e/ou framework influenciam a pilha das ferramentas que protegem seu produto, que, por sua vez, deve ser usado corretamente.

  • protecção contra ataques de scripting Cross-Site (XSS)

    Se a sua rede de redes sociais não tiver validação de dados de entrada devidamente segura, o seu site está aberto a ataques XSS., Neste caso, considere integrar a filtração de dados de entrada na sua chegada ou codificar os seus dados na saída.

  • hospedagem segura

    para se certificar de que os dados dos seus utilizadores são armazenados de forma segura, é desejável optar por provedores de hospedagem web fiáveis e de topo, tais como AWS, A2 Hosting, HostGator, ou InMotion.

  • encriptação de dados

    em termos de criação de sites de redes sociais, a integração do tipo SSL de encriptação de dados é considerada uma das medidas de segurança mais eficazes e obrigatórias., Impede que os hackers obtenham os dados sensíveis de seus usuários enquanto estiver em trânsito.

  • programas atualizam

    a segurança de vários sites é muitas vezes comprometida devido a componentes de software desatualizados. Certifique-se sempre de que todas as partes de seus programas são atualizados, Se é a versão mais recente do plugin ou CMS para que não haverá vulnerabilidades do site aberto para ataques.

painel de administração

esta é uma das ferramentas mais vitais para a moderação de qualquer site de mídia social que não pode ser negligenciado., É uma aplicação completa que interage com o seu website e tem como objectivo melhorar as capacidades do seu negócio:

  • proporcionando uma visão das funções relacionadas com o utilizador (comportamento do utilizador);
  • detectando a violação dos regulamentos e políticas do website;
  • exibindo métricas de negócios (KPIs).
  • melhorando o desempenho
    • escalabilidade Horizontal

      Quanto mais famosa a sua rede se tornar, mais cargas de trabalho concomitantes estão a correr dentro do site., Nesse caso, a manutenção da escalabilidade horizontal é uma obrigação, que pode ser alcançada pela escolha certa do seu fornecedor de Balanceiros de carga.

    • Rede de distribuição de conteúdos

      no caso de pretender popularizar a sua rede não apenas numa determinada localização geográfica mas globalmente, poderá aumentar o desempenho do seu website utilizando CDN (rede de distribuição de conteúdos). Tal solução fornece entrega mais rápida do conteúdo para seus usuários finais que estão localizados longe do servidor hospedado, utilizando servidores edge mais próximos ou locais.,

      Imagem 6. Visão geral do trabalho de CDN. Fonte: Wpbeginner
    • Content size optimization

      para optimizar o trabalho do seu website, poderá necessitar de software que comprima áudio, vídeo, textual e outros tipos de ficheiros. Você pode usar uma aplicação Gzip que comprime e descomprime arquivos de forma estática ou dinâmica, ambos melhorando a carga de página do site quase em 15%., Além disso, é melhor armazenar arquivos comprimidos do que comprimi-los no lado frontend cada vez que o pedido vem.

  • tornando o site tolerante a falhas

    inúmeros fatores podem afetar negativamente o funcionamento do seu site. A tolerância à falha é um dos aspectos mais vitais de qualquer rede social, o que ajuda a neutralizar tais intrusões., Pode ser fornecida com a ajuda de tais medidas preventivas:

    • activar o agrupamento, o processo que ajuda a duplicar as ações do servidor em caso de falha súbita para a função;
    • verifique se você tem uma tolerância a falhas de banco de dados, que vai assumir o trabalho do principal, no caso de sua interrupção;
    • integrar confiável canais de comunicação, o que irá garantir uma segura e consistente, o intercâmbio de dados e reduzir os riscos de perda de conexão;
    • fornecer backup do banco de dados para eliminar a possibilidade de perda de dados confidenciais;
    • garantir que os procedimentos de recuperação de desastres., Tais procedimentos dependerão da escolha do cloud computing ou das instalações. No caso do primeiro, você terá que permitir a migração de dados na nuvem para a outra região. Se você escolher a última opção, certifique-se de que você tem um provedor de backup ou centro de dados em outra área geográfica., Além disso, se você usar o ambiente local, você pode alternar para a computação em nuvem neste caso;
  • CI/CD

    Integração Contínua (CI) e o Contínuo Implantações (CD) são indispensáveis práticas que permitam eficiência e flexibilidade do fluxo de trabalho que, eventualmente, leva a uma mais rápida e bugless de implantação. Engenheiros DevOps são aqueles que fornecem e mantêm um processo de funcionamento correto da configuração CI/CD no ciclo de vida do desenvolvimento., Ao optar por esta abordagem para o desenvolvimento de seu site de mídia social, você poderá obter:

    • minimizado erro emergência quando você lançar o site como regressões são capturados antes durante iterativo testes automatizados (CI);
    • a redução de custos para o desenvolvimento pós-teste, porque CI servidor executa inúmeros testes automaticamente;
    • mais rápido lançamento como CI/CD pipeline constantemente mescla o código e colocá-lo em produção após o teste automatizado, daí sempre a manutenção do lançamento-pronto.,
  • pilha de tecnologia

    a escolha da pilha de tecnologia apropriada para programar uma rede social normalmente depende da solução mais adequada para os requisitos estabelecidos, da complexidade do projeto e da experiência do Fornecedor de software em tecnologias backend.,”>Programming languages

    Java, PHP, Python Search engines Apache Solr, Elasticsearch Frameworks/libraries Spring stack for Java
    Laravel, Symfony for PHP
    Django, Flask, Tornado for Python Caching Redis, Memcached Front-end frameworks and technologies React.,js, Vue.,Angular Front-end linguagens de programação TypeScript, JavaScript DevOps GitLab CI, TeamCity, GoCD Jenkins, WS CodeBuild, Transformar

    Teste

    A manutenção da elevada carga sobre o site, a responsabilidade pela segurança dos dados dos usuários, e seus pagamentos dentro da rede são os fatores que definem a extrema importância de uma abordagem para a fase de testes, pensativamente.,

    Testing of social media website requires the creation of particular test artifacts: test strategy, test plan, test data, test cases, etc. Eles são conduzidos para garantir que todos os requisitos do cliente são compreendidos com precisão pelo fornecedor de software. Eles também permitem que tanto o cliente, stakeholders e testadores para acompanhar as mudanças dentro do projeto, eliminando possíveis mal-entendidos entre as partes.,Normalmente, os seguintes tipos de testes são realizados quando se desenvolve uma rede social:

    • Teste Funcional — ajuda a assegurar que todas as funções da sua rede funcionam de acordo com a especificação de requisitos., Por realizá-lo, equipe de controle de qualidade, presta atenção aos seguintes aspectos:

      • testes site do núcleo de funcionalidades;
      • garante que as atualizações e melhorias de não afetar negativamente o da funcionalidade do site;
      • verifica a interoperabilidade dos diferentes módulos funcionais;
      • certifique-se de que a interface de usuário atende final expectativas do consumidor.,
    • teste de segurança — para garantir que o seu site de mídia social não contém quaisquer ameaças e falhas de segurança que podem danificar o seu blog’ dados sensíveis, testadores de foco em áreas como:

      • vulnerabilidades na rede de digitalização;
      • garante que as atualizações e melhorias de não afetar negativamente o da funcionalidade do site;
      • pontos de acesso de seleção;
      • pontos fracos em componentes de software.,
    • teste de desempenho — durante a sua realização, a preparação do website para sustentar a carga possível é testado, verificando:

      • velocidade de conexão;
      • site do comportamento sob carga de trabalho;
      • site do comportamento além dos limites de carga de trabalho esperada;
      • site do comportamento sob contínua de carga pesada.
    • Teste de interface — ajuda a assegurar a transmissão correcta dos dados do lado do servidor e a renderização do lado do cliente., Equipe de controle de qualidade executa-lo através de:

      • validação de interação correta de aplicação e servidor de interfaces;
      • validação de interação correta entre o servidor web e servidor de banco de dados interfaces;
    • teste de usabilidade — QA engenheiros testar se existem pontos fracos no lado do cliente parte do site, tais como:

      • abrangência de navegação;
      • visão geral do projeto;
      • o tempo que o usuário gasta para completar a tarefa.,

      o departamento de QA da Aimprosoft aplica a abordagem mais complexa para a escolha do tipo apropriado de conjunto de testes, dependendo da complexidade do produto e suas necessidades. Ao integrar o trabalho da equipe de QA desde o início do projeto, você potencialmente reduzir os custos de desenvolvimento, garantir o trabalho contínuo de sua rede, e aumentar suas capacidades.,

      Conheça a abordagem do nosso departamento de QA para a fase de teste

    lançamento e promoção

    uma série de lançamentos intermédios (prova de conceito, versões MVP, alfa e beta) são entregues antes da implantação do produto para verificar a funcionalidade e viabilidade do novo site.para programar uma rede social, um ciclo de testes iterativos precede o lançamento final do site. Depois disso, nós no aimprosoft freeze code e continuar corrigindo bugs por 2-3 semanas sem alterar o produto., Para evitar possíveis riscos de negócio relacionados com o lançamento, é também desejável:

    • teste de todas as URLs para o funcionamento adequado;
    • verifique se o seu website está navegador e mobile-friendly;
    • verifique se seu código HTML/CSS é exactas;
    • verifique o web site de segurança da constituinte e certifique-se de que sua rede social tem uma cópia de segurança.,

    os aspectos adicionais que contribuem para um lançamento bem sucedido do website podem ser:

    • implementação de técnicas eficientes de SEO;
    • configuração do Google Analytics para monitorização posterior;
    • assegurar que os seus URLs sejam compatíveis com o motor de busca.

    Uma vez que sua rede social é aprovado para o lançamento real, é hora de implementar a estratégia de marketing para promover o seu site., Isso pode incluir:

    • anunciar o seu produto através de outras redes sociais populares, se o seu conceito é diferente do seu;
    • promovê-lo no Quora, respondendo as perguntas em tópicos relacionados e anexando o link para o site;
    • promoção com a ajuda de populares influenciadores;
    • investir em search engine marketing para aparecer na primeira página dos resultados de pesquisa.

    Uma vez lançado o seu site, é crucial monitorizar o seu desempenho e o comportamento dos seus utilizadores para o actualizar em conformidade.,

    estimativa de custos de desenvolvimento de sites de redes sociais

    para definir um custo aproximado que é necessário para iniciar a sua própria rede social, vamos considerar um produto similar que criamos chamado Chattlez.o Chattlez incluiu características básicas inerentes a um site de mídia social padrão; nós também colocamos ênfase especial na capacidade de resposta de seu projeto, o que não era comum em 2013. O conceito de Chattlez era combinar o agregador de produtos com a rede de mídia social e convertê-los em um mercado que permite que as pessoas se comuniquem e façam compras., Levou quase 5 meses para desenvolver uma rede social como esta, e nos permitiu chegar a uma fórmula aproximada para estimar o tempo e o custo para a criação de sites de mídia social.

    Quando você constrói seu próprio site de rede social, é necessário desenvolver um MVP primeiro para identificar as fraquezas do produto e melhorias exatas para investir ainda mais., Os principais a seguir para qualquer mídia social características da rede foi implementado no Chattlez:

    • o registro do Usuário;

    • a autenticação do Usuário;

    • perfil do Utilizador;

    • Assinatura;

    • feed de Notícias;

    • a partilha de Conteúdo de opção;

    • de publicação de Conteúdo;

    • Comentários;

    • Pesquisa;

    • Mensagens.,

    O seguinte equipe de pilha, normalmente, é necessário se você decidir criar um MVP primeiro:

    • 1 Gerente de Projeto;

    • a autenticação do Usuário;

    • 1 UI/UX engenheiro;

    • 1 Back-end developer;

    • 1 frontend developer;

    • 1 QA engineer;

    • 1 DevOps engenheiro.,

    uma Vez MVP atravessa a primeira onda de críticas pelos testes de seu público potencial, e o feedback é obtido, você pode continuar para o desenvolvimento do produto completo com os seguintes recursos adicionais que foram incluídas no Chattlez assim:

    • painel de Administração;

    • a integração com outras plataformas de mídia social;

    • a moderação de Conteúdo;

    • o google Analytics;

    • Avançado de pesquisa;

    • Personalização de perfil do usuário.,

    Se optar pela criação de um produto completo imediatamente, irá precisar de uma pilha aproximada de programadores de software para codificar um site de rede social do zero. Pode variar dependendo da complexidade do projeto e da data de lançamento:

    usámos a nossa experiência de criação do Chattlez para preparar uma tabela comparativa abaixo do tempo aproximado gasto para o desenvolvimento de ambos MVP do site de rede social e produto completo.,v>850 — 950

    QA 90 — 100 175 — 225 Product architecture 30 — 40 50 — 60 CI/CD 100 — 140 140 — 180

    The above-mentioned estimated time may vary if you conduct a business analysis, all mockups and prototypes yourself, and then turn to the full-cycle development company., No que diz respeito ao desenvolvimento de infra-estruturas, as peças mais complexas e demoradas estão relacionadas com a criação de painel de Administração e análise integrada, exigindo aproximadamente 200 horas cada.,>€52 500 — 63 900

    €92 400 — 108 000 UK £55 £48 125 — 58 575 £84 700 — 99 000 Eastern Europe (Ukraine) $30 $26 250 — 31 950 $46 200 — 54 000

    You may see that depending on geographical area, the average rate of the developers may significantly differ., Assim, por exemplo, todo o custo de desenvolvimento do site de redes sociais na Europa Oriental (Ucrânia) forma apenas 40% do mesmo custo nos EUA.

    conclusão

    Como pode ter observado, o universo web das redes de redes sociais é bastante multidimensional e lucrativo. A fim de obter mais benefícios de uma indústria tão promissora, você precisa ter uma idéia viável, um pouco de coragem, e parceiro de software dedicado para implementar as características mais complexas., Se você quiser discutir questões de como criar um site de mídia social, entre em contato conosco, e Aimprosoft irá ajudar completamente com o seu startup-endeavor.

    FAQ

    O desenvolvimento de sites de redes sociais ainda é relevante hoje em dia?

    mais de 3,81 bilhões de pessoas usam redes sociais atualmente. Isso significa que a demanda por tais tipos de sites é maior do que nunca. Os sites de redes sociais profundamente enraizados lutam para atender às demandas cada vez maiores dos usuários. Assim, a visão progressista dos recém-chegados pode contribuir significativamente para o desenvolvimento desta esfera.,

    existe um conjunto particular de tecnologias que você pode recomendar para desenvolver um site de mídia social robusto?

    a pilha de recursos apropriada varia dependendo da complexidade do projeto, conjunto das características desejadas e orçamento. Uma vez que existem diferentes tipos de sites de mídia social, a funcionalidade pode diferir significativamente. Uma vez identificados os recursos que você deseja incluir, aconselhamos a consulta com o fornecedor de software escolhido sobre as tecnologias recomendadas., O fornecedor deve fornecer-lhe opções e sua comparação e, em seguida, escolher as ferramentas de software mais adequadas.

    Como escolher o recurso certo para um site de redes sociais? Alguma dica a seguir?

    é sempre melhor definir que desafios podem enfrentar seus potenciais usuários ao lidar com tal plataforma e que expectativas eles têm com base em sua experiência anterior com sites similares. Isto irá ajudá-lo a identificar as ferramentas necessárias para satisfazer as necessidades do seu público-alvo e excluir recursos desnecessários. Além disso, faça uma pesquisa completa dos seus concorrentes., Identifique quais recursos ajudá-los a ter sucesso e quais as fraquezas que eles têm para que você possa melhorá-los e se transformar em suas vantagens.como posso garantir o mais alto nível de segurança para o meu site de redes sociais?

    uma das regras de segurança mais importantes a seguir quando se constrói uma plataforma de redes sociais do zero é que todas as camadas da aplicação devem ser protegidas contra os riscos de segurança identificados pela OWASP. Em segundo lugar, integre na infra-estrutura do seu aplicativo um WAF (firewall de aplicação web)., Ele irá proteger o seu aplicativo de ataques externos, tais como injeções SQL, ataques XSS (Cross-Site Scripting), inclusão de arquivos, etc. Outra medida de segurança útil do site é realizar regularmente auditorias de segurança de um código de aplicação web e atualizações atempadas de todos os componentes de software do site, incluindo atualizações dos frameworks e bibliotecas que foram alavancadas no decurso do desenvolvimento. Em geral, estas são apenas uma das maneiras possíveis de fortalecer a segurança do site de mídia social., Geralmente, o arquiteto de Software ou técnico líder trabalhando em seu projeto projeta a estratégia correspondente e seleciona ferramentas de segurança e práticas apropriadas para o seu produto.

    Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *