Come Creare un Social Network Come Facebook: La Storia di Successo

Come Creare un Social Network Come Facebook: La Storia di Successo

dopo Aver osservato tutte le insidie e secondo soluzioni di relazione con il cliente-lato costituente della rete sociale di sviluppo, vediamo cosa aspetti vitali della parte lato server dovrebbe essere preso in considerazione.

Back-end di sviluppo

Se si costruisce una piattaforma di social media da zero, si vuole farlo funzionare senza soluzione di continuità e abbassare la percentuale di churn degli utenti., Quindi, è fondamentale considerare i seguenti aspetti durante lo sviluppo back-end:

  1. Rendering corretto
    • server-side rendering (SSR)

      Questo è un modo più tradizionale e statico di rendering dei contenuti del sito web che può fornire il caricamento della pagina ritardato fino a un paio di secondi. Se stai creando blogging o pubblicando piattaforme di social media, tale opzione è quella per te in quanto non richiede una risposta rapida e immediata tra i carichi di pagina successivi.,

      Un approccio di rendering viene eseguito dagli sviluppatori back-end in collaborazione con o senza HTML/CSS-coder, con l’aiuto di Spring framework, Velocity library o altre efficienti tecnologie Java. Inoltre, tieni presente che a differenza del CSR (rendering lato client), l’architettura back-end dei microservizi non è applicabile per SSR; quindi opta per l’architettura monolite.

    • rendering lato client (CSR)

      Nel caso di sviluppo di siti simili a Facebook, questo tipo di visualizzazione dei dati è più adatto., Tale approccio è più dinamico e reattivo e consente di creare una rete che ti fornirà un rendering rapido del sito Web dopo il primo caricamento iniziale.

      La soluzione CSR è condotta da sviluppatori front-end ed è normalmente implementata in JavaScript con l’aiuto di AngularJS, React.js, o Vue.strutture js. A seconda delle tue esigenze, sia le architetture back-end monolith che microservices sono adatte al tuo sito web se scegli CSR.,

  2. Migliorare la sicurezza
    • Structured Query Language (SQL) injection prevention

      I dati sensibili degli utenti, come i dettagli di autenticazione e le informazioni sulla carta di credito, potrebbero essere vulnerabili alle iniezioni SQL in caso di sicurezza insufficiente. Per prevenire tali attacchi dannosi, assicurarsi di inserire driver di database Java sicuro con funzionalità di istruzione preparata che invia query e dati al server di database separatamente, evitando l’intervento di tale attacco nei record all’interno del database.,

      Il driver di database PHP, ad esempio, non fornisce tali protezioni, quindi lo sviluppatore deve proteggerlo utilizzando i dati di input di escape o qualche altra tecnologia.

      Come puoi vedere, la scelta del linguaggio di programmazione e / o del framework influenza lo stack degli strumenti che proteggono il tuo prodotto, che a sua volta dovrebbe essere usato correttamente.

    • protezione dagli attacchi XSS (Cross-Site Scripting)

      Se la tua rete di social media non dispone di una convalida dei dati di input adeguatamente protetta, il tuo sito web è aperto agli attacchi XSS., In questo caso, considerare l’integrazione della filtrazione dei dati di input al suo arrivo o codificare i dati sull’output.

    • hosting sicuro

      Per assicurarsi che i dati degli utenti siano archiviati in modo sicuro, è consigliabile optare per fornitori di hosting Web cloud affidabili e di prim’ordine, come AWS, A2 Hosting, HostGator o InMotion.

    • crittografia dei dati

      In termini di creazione di siti web di social media, l’integrazione del tipo di crittografia dei dati SSL è considerata una delle misure di sicurezza più efficaci e obbligatorie., Impedisce agli hacker di ottenere i dati sensibili degli utenti mentre è in transito.

    • aggiornamento programmi

      La sicurezza di numerosi siti web è spesso compromessa a causa di componenti software obsoleti. Assicurati sempre che tutte le parti dei tuoi programmi siano aggiornate, che si tratti dell’ultima versione del plugin o del CMS in modo che non ci siano vulnerabilità del sito Web aperto per gli attacchi.

  3. Pannello di amministrazione

    Questo è uno degli strumenti più vitali per la moderazione di qualsiasi sito web di social media che non può essere trascurato., È un’applicazione a tutti gli effetti che interagisce con il tuo sito Web e mira a migliorare le capacità della tua attività:

    • fornendo informazioni sulle funzioni relative all’utente (comportamento dell’utente);
    • rilevando la violazione delle normative e delle politiche del sito web;
    • visualizzando le metriche di business (KPI).
  4. Migliorare le prestazioni
    • Scalabilità orizzontale

      Più la rete diventa famosa, più carichi di lavoro simultanei sono in esecuzione all’interno del sito web., In tal caso, il mantenimento della scalabilità orizzontale è un must, che può essere raggiunto dalla giusta scelta del fornitore di bilanciatori di carico.

    • Content delivery network

      Nel caso in cui si mira a diffondere la rete non solo in una particolare posizione geografica, ma a livello globale, è possibile aumentare le prestazioni del sito web utilizzando CDN (content delivery network). Tale soluzione fornisce una consegna più rapida del contenuto agli utenti finali che si trovano lontano dal server ospitato, utilizzando i server edge più vicini o locali.,

      Immagine 6. Panoramica del lavoro CDN. Source: Wpbeginner
    • Ottimizzazione delle dimensioni dei contenuti

      Per ottimizzare il lavoro del tuo sito web, potresti richiedere un software che comprima audio, video, testuali e altri tipi di file. È possibile utilizzare un’applicazione Gzip che comprime e decomprime i file in modo statico o dinamico, migliorando il caricamento della pagina del sito Web quasi del 15%., Inoltre, è meglio memorizzare i file compressi che comprimerli sul lato frontend ogni volta che arriva la richiesta.

  5. Rendere il sito web fault-tolerant

    Numerosi fattori possono influire negativamente sul funzionamento del tuo sito web. La tolleranza ai guasti è uno degli aspetti più vitali di qualsiasi social network, che aiuta a contrastare tali intrusioni., Può essere fornito con l’aiuto di tali misure di prevenzione:

    • attivare il clustering, il processo che consente di replicare le azioni del server in caso di guasto improvviso alla funzione;
    • assicurarsi di che avere una tolleranza di errore del database, che prenderà il posto di quello principale in caso di interruzione;
    • integrare affidabile canali di comunicazione che permetterà di garantire un sicuro e costante scambio di dati e ridurre i rischi di perdita di connessione;
    • fornire il backup del database per eliminare la possibilità di perdita di dati sensibili;
    • assicurarsi che le procedure di disaster recovery., Tali procedure dipenderanno se si sceglie il cloud computing o on-premise. Nel caso del primo, dovrai abilitare la migrazione cloud dei dati nell’altra regione. Se si sceglie quest’ultima opzione, assicurarsi di avere un provider di backup o un data center in un’altra area geografica., Inoltre, se si utilizza un ambiente locale, è possibile passare al cloud computing in questo caso;
  6. CI/CD

    Continuous Integration (CI) e Continuous Deployments (CD) sono pratiche indispensabili che consentono un flusso di lavoro efficiente e flessibile che alla fine porta a una distribuzione più rapida e senza bug. Gli ingegneri DevOps sono coloro che forniscono e mantengono un processo di configurazione CI/CD correttamente funzionante nel ciclo di vita dello sviluppo., Optando per questo tipo di approccio per lo sviluppo del tuo sito web social media, si può ottenere:

    • minimizzato bug emergere quando si avvia il sito web, come le regressioni sono catturato in precedenza durante iterativo test automatizzati (CI);
    • riduzione dei costi per il post-test di sviluppo, perché CI server esegue numerosi test automaticamente;
    • rilascio più veloce come CI/CD pipeline costantemente unisce il codice e la distribuzione, per la produzione dopo il test automatico, quindi, sempre mantenendo una release-ready.,

Stack tecnologico

La scelta dello stack tecnologico appropriato per programmare un social network dipende normalmente dalla soluzione più adatta ai requisiti impostati, dalla complessità del progetto e dall’esperienza del fornitore di software nelle tecnologie di back-end.,”>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.,Angolare Front-end linguaggi di programmazione Dattiloscritto, JavaScript Sviluppatori GitLab CI, TeamCity, GoCD Jenkins, WS CodeBuild, Terraforma

Test

Il mantenimento di un elevato carico sul sito, la responsabilità per la sicurezza dei dati degli utenti, e i loro pagamenti all’interno della rete sono quei fattori che definiscono di estrema importanza per l’approccio in fase di collaudo, pensieroso.,

Il test del sito Web dei social media richiede la creazione di particolari artefatti di test: strategia di test, piano di test, dati di test, casi di test, ecc. Sono condotte per garantire che tutti i requisiti del cliente siano compresi accuratamente dal fornitore del software. Consentono inoltre al cliente, alle parti interessate e ai tester di tenere traccia delle modifiche all’interno del progetto eliminando possibili incomprensioni tra le parti.,

Normalmente i seguenti tipi di test vengono eseguiti quando si sviluppa un social network:

  • test funzionali — aiuta a garantire che tutte le funzioni della rete operino in conformità con le specifiche dei requisiti., Mediante l’esecuzione di esso, QA team presta attenzione ai seguenti aspetti:

    • test del sito web le funzioni di base;
    • assicura che gli aggiornamenti e i miglioramenti non influenzare negativamente la funzionalità del sito web;
    • controlli di interoperabilità tra i diversi moduli funzionali;
    • assicurarsi che l’interfaccia utente incontra fine le aspettative del consumatore.,
  • i test di sicurezza — per assicurarsi che il vostro sito web social media non contiene minacce e le falle di sicurezza che possono danneggiare gli utenti, i ” dati sensibili, tester di concentrarsi su tali aree:

    • le vulnerabilità di rete e la scansione;
    • assicura che gli aggiornamenti e i miglioramenti non influenzare negativamente la funzionalità del sito web;
    • punti di accesso di controllo;
    • debolezze componenti software.,
  • il test delle prestazioni — durante lo svolgimento di essa, la disponibilità del sito web per sostenere il carico possibile è testato da controllare:

    • velocità di connessione;
    • comportamento del sito web sotto la crescente carico di lavoro;
    • comportamento del sito web oltre i limiti di carico di lavoro previsto;
    • comportamento del sito web costantemente sotto carico pesante.
  • test di interfaccia: consente di garantire la corretta trasmissione dei dati dal lato server e il rendering dal lato client., QA team effettua tramite:

    • la convalida di una corretta interazione di applicazioni e interfacce server;
    • la convalida di una corretta interazione tra il web server e database server interfacce;
  • test di usabilità — QA ingegneri verificare se ci sono eventuali punti deboli della parte client del sito web, come ad esempio:

    • la completezza della navigazione;
    • visione complessiva del design;
    • volta che l’utente impiega per completare il compito.,

    Il dipartimento QA di Aimprosoft applica l’approccio più complesso alla scelta del tipo appropriato di set di test, a seconda della complessità del prodotto e delle vostre esigenze. Integrando il lavoro del team QA fin dall’inizio del progetto, è potenzialmente ridurre i costi di sviluppo, garantire il lavoro senza soluzione di continuità della rete, e aumentare le sue capacità.,

    Venite a conoscere l’approccio del nostro reparto QA verso la fase di testing

Release e promotion

Un certo numero di release intermedie (versioni Proof of Concept, MVP, alpha e beta) vengono consegnate prima della distribuzione del prodotto per verificare la funzionalità e la fattibilità del nuovo sito web.

Per programmare un social network, un ciclo di procedure di test iterativi precede il rilascio finale del sito web. Dopo questo, noi di Aimprosoft congeliamo il codice e continuiamo a correggere i bug per 2-3 settimane senza modificare il prodotto., Per evitare possibili rischi di business relative al rilascio, è opportuno inoltre:

  • prova tutti gli Url per il corretto funzionamento;
  • verificare se il tuo sito è il browser e mobile-friendly;
  • verificare se il codice HTML/CSS è gran;
  • verificare la sicurezza del sito web costituente e assicurarsi che il social network ha una copia di backup.,

Ulteriori aspetti che contribuiscono al lancio di un sito web di successo possono essere:

  • implementazione di tecniche SEO efficienti;
  • configurazione di Google Analytics per un ulteriore monitoraggio;
  • assicurati che i tuoi URL siano compatibili con i motori di ricerca.

Una volta che il tuo social network è stato approvato per il rilascio effettivo, è il momento di implementare la strategia di marketing per promuovere il tuo sito web., Si possono includere:

  • pubblicizza il tuo prodotto tramite altri popolari social network se il loro concetto è diverso dal tuo;
  • promuovere su Quora, rispondendo alle domande in argomenti correlati e allegando il link al sito web;
  • la promozione, con l’aiuto di popolare fattori di influenza;
  • investire in marketing dei motori di ricerca apparire sulla prima pagina dei risultati di ricerca.

Una volta lanciato il tuo sito web, è fondamentale monitorare le sue prestazioni e il comportamento dei tuoi utenti per aggiornarlo ulteriormente di conseguenza.,

Stima dei costi di sviluppo del sito di social networking

Per definire un costo approssimativo necessario per avviare il proprio social network, consideriamo un prodotto simile che abbiamo creato chiamato Chattlez.

Chattlez includeva funzionalità di base inerenti a un sito web di social media standard; abbiamo anche posto particolare enfasi sulla reattività del suo design, che non era così comune nel 2013. Il concetto di Chattlez era quello di combinare aggregatore di prodotti con la rete di social media e convertirli in un mercato che consente alle persone di comunicare e fare acquisti., Ci sono voluti quasi 5 mesi per sviluppare un social network come questo, e ci ha permesso di trovare una formula approssimativa per stimare tempi e costi per la creazione di siti web di social media.

Quando costruisci il tuo sito di social networking, è necessario sviluppare prima un MVP per identificare le debolezze del prodotto e i miglioramenti esatti per investire ulteriormente., Il core per qualsiasi rete di social media è stato implementato in Chattlez:

  • registrazione Utente;

  • l’autenticazione dell’Utente;

  • profilo Utente;

  • Abbonamento

  • feed di Notizie;

  • Contenuto opzione di condivisione;

  • la pubblicazione di Contenuto;

  • i Commenti;

  • Ricerca di

  • Messaggi.,

Il team seguente stack è normalmente necessario se si decide di creare un MVP primo:

  • 1 Project Manager;

  • l’autenticazione dell’Utente;

  • 1 UI/UX ingegnere;

  • 1 Backend developer;

  • 1 frontend developer;

  • 1 ingegnere QA;

  • 1 DevOps engineer.,

una Volta MVP passa attraverso la prima ondata di test critico dal vostro pubblico potenziale e il feedback che si ottiene, si può procedere con lo sviluppo del prodotto con le seguenti caratteristiche aggiuntive che sono stati inclusi in Chattlez così:

  • pannello di amministrazione;

  • il Collegamento con le altre piattaforme di social media;

  • moderazione dei Contenuti;

  • Analytics;

  • ricerca Avanzata;

  • Personalizzazione del profilo utente.,

Se si opta per la creazione di un prodotto completo subito, avrete bisogno di una tale pila approssimativa di sviluppatori di software per codificare un sito di social networking da zero. Esso può variare a seconda della complessità del progetto e la data di lancio:

Abbiamo usato la nostra esperienza di creazione di Chattlez per preparare una tabella comparativa di seguito di tempo approssimativo speso per lo sviluppo di entrambi MVP del sito web di social networking e prodotto 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., Per quanto riguarda lo sviluppo del back-end, le parti più complesse e dispendiose in termini di tempo sono legate alla creazione di pannello di amministrazione e Analisi integrate, che richiedono circa 200 ore ciascuna.,>€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., Così, per esempio, l’intero costo di sviluppo del sito web di social networking in Europa orientale (Ucraina) costituisce solo il 40% dello stesso costo negli Stati Uniti.

Conclusione

Come avrete osservato, web-universo delle reti di social media è piuttosto multidimensionale e redditizio. Per ottenere maggiori benefici da un settore così promettente, è necessario avere un’idea fattibile, un po ‘ di coraggio e un partner software dedicato per implementare le funzionalità più complesse., Se vuoi discutere di domande su come creare un sito web di social media, contattaci e Aimprosoft ti aiuterà a fondo con il tuo startup-endeavor.

FAQ

Lo sviluppo dei siti di social media è ancora attuale al giorno d’oggi?

Più di 3,81 miliardi di persone utilizzano attualmente i social media. Significa che la domanda di tali tipi di siti web è più alta che mai. I siti web di social media radicati lottano per soddisfare le richieste in costante crescita degli utenti. Quindi, la visione progressiva dei nuovi arrivati può contribuire in modo significativo allo sviluppo di questa sfera.,

Esiste un particolare insieme di tecnologie che puoi consigliare di utilizzare per sviluppare un robusto sito web di social media?

Lo stack di funzionalità appropriato varia a seconda della complessità del progetto, dell’insieme delle funzionalità desiderate e del budget. Poiché esistono diversi tipi di siti Web di social media, la funzionalità potrebbe differire in modo significativo. Una volta identificate le funzionalità che si desidera includere, si consiglia di consultare il fornitore del software scelto per quanto riguarda le tecnologie consigliate., Il fornitore dovrebbe fornire le opzioni e il loro confronto e quindi scegliere gli strumenti software più adatti.

Come scegliere il giusto set di funzionalità per un sito web di social media? Qualche consiglio da seguire?

È sempre meglio definire quali sfide possono affrontare i potenziali utenti quando si tratta di una piattaforma di questo tipo e quali aspettative hanno in base alla loro precedente esperienza con siti web simili. Questo ti aiuterà a identificare gli strumenti necessari per soddisfare le esigenze del tuo pubblico di destinazione ed escludere funzionalità non necessarie. Inoltre, condurre una ricerca approfondita dei vostri concorrenti., Identifica quali caratteristiche li aiutano ad avere successo e quali debolezze hanno in modo da poterli migliorare e trasformare nei tuoi vantaggi.

Come posso garantire il massimo livello di sicurezza per il mio sito web di social media?

Una delle regole di sicurezza più importanti da seguire quando si crea una piattaforma di social media da zero è che tutti i livelli dell’applicazione devono essere protetti dai rischi per la sicurezza identificati da OWASP. In secondo luogo, integra nell’infrastruttura della tua app un WAF (web Application firewall)., Proteggerà la tua app da attacchi esterni, come iniezioni SQL, attacchi XSS (Cross-Site Scripting), inclusione di file, ecc. Un’altra utile misura di sicurezza del sito web è condurre regolarmente audit di sicurezza di un codice di applicazione Web e aggiornamenti tempestivi di tutti i componenti software del sito Web, inclusi gli aggiornamenti dei framework e delle librerie che sono stati sfruttati nel corso dello sviluppo. Nel complesso, questi sono solo uno dei modi possibili per rafforzare la sicurezza del sito web di social media., In generale, l’architetto software o il capo tecnico che lavora al progetto progetta la strategia corrispondente e seleziona gli strumenti e le pratiche di sicurezza appropriati per il prodotto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *