Questa guida semplifica il processo di creazione di un CRM personalizzato, coprendo tutte le fasi, dall'idea al lancio. Offre spunti pratici, best practice ed errori comuni per aiutarvi a creare un CRM adatto alla vostra azienda. È utile sia per i neofiti della tecnologia che per gli sviluppatori esperti.

Perché dovremmo usare AppMaster per il nostro CRM invece di altri prodotti?

  • Possibilità di personalizzazione completa
  • Nessuna restrizione di scala
  • Creazione di tutto in un unico luogo (database, backend, applicazioni web e mobile)
  • Possibilità di integrazione con qualsiasi servizio esterno

Creare un CRM personalizzato

Sviluppate un sistema di Customer Relationship Management (CRM) personalizzato seguendo le fasi consigliate di seguito.

Fase 1: progettazione del modello di dati

La procedura inizia tradizionalmente con la costruzione di modelli di dati, che richiedono la comprensione delle entità da utilizzare nel sistema di Customer Relationship Management (CRM), dei loro rispettivi attributi e delle loro interrelazioni.

Questi modelli, altrimenti noti come entità, possono includere numerose possibilità, come aziende, contatti, lead e attività. Ogni modello è definito da un insieme unico di campi. Ad esempio, un modello di azienda può comprendere campi come il nome dell'azienda, il tipo di attività e la sede, tra gli altri.

Ogni campo è caratterizzato da un tipo specifico, che determina la natura dei dati che può contenere. Per esempio, un tipo di dati "String" è adatto per un campo titolo, che può contenere qualsiasi stringa di caratteri. Un tipo di descrizione "Text" permette di inserire un testo esteso, eventualmente segmentato in paragrafi. Un tipo "Integer" può rappresentare il numero di dipendenti, mentre un tipo "DateTime" può contenere informazioni su data e ora di eventi specifici.

I modelli hanno la possibilità di formare associazioni tra loro, il che richiede la selezione del tipo di relazione. Ad esempio, i dipendenti possono essere collegati a compiti specifici, il che richiede la capacità di comprendere l'organizzazione dei compiti.

È possibile che ogni compito sia assegnato a un solo esecutore specifico, mentre ogni dipendente può avere più compiti contemporanei. In questo scenario, si potrebbe stabilire tra loro una relazione uno-a-molti. Altri tipi di relazione potenziali sono uno-a-uno e molti-a-molti.

Per una conoscenza e un'assistenza più approfondita sull'uso dell'editor di database, consultare la libreria dei corsi dell'Appmaster University.

Passo 2: Impostazione di endpoints per i modelli di dati

Il passo successivo consiste nel fornire funzionalità a questi modelli. È un presupposto razionale che il database debba essere situato in un punto particolare del server, con la possibilità per gli utenti di collegarsi da qualsiasi luogo utilizzando i loro PC o telefoni cellulari. Per facilitare l'interscambio delle richieste e la trasmissione dei dati, vengono utilizzati dei percorsi, ovvero degli indirizzi di rete a cui inviare le richieste.

Inoltre, esistono endpoints, che sono punti di accesso a un percorso attraverso un metodo specifico. Per esempio, si può accedere a una rotta di un'attività inviando l'ID dell'attività, ma utilizzando diversi metodi (quindi, diversi endpoints): Delete (per eliminare l'attività), Get (per ottenere informazioni sull'attività), Patch (per apportare modifiche all'attività, per esempio, per cambiarne lo stato).

Ciascun modello di dati può avere una base endpoints creata automaticamente al momento dell'avvio. Questi endpoints possono essere utilizzati immediatamente, possono essere adattati (ad esempio modificando i diritti di accesso per consentire solo a determinati ruoli utente di creare nuove attività), oppure possono essere formulati endpoints personalizzati con la relativa logica di elaborazione. Una guida dettagliata su come lavorare con gli endpoint è disponibile al link.

Passo 3: Creare l'interfaccia utente

Il passo successivo consiste nel creare un'interfaccia con cui l'utente possa interagire. Naturalmente, data l'esistenza di endpoints, si potrebbe utilizzarli subito, inviando le richieste necessarie. Tuttavia, gestirli direttamente in modalità riga di comando tende a essere incredibilmente scomodo.

È logico sviluppare un'applicazione web per le operazioni. AppMaster permette di prendere le redini della creazione dell'interfaccia, consentendo di integrare elementi essenziali come pulsanti, etichette e tabelle, personalizzandone anche l'estetica e il posizionamento.

Per ottenere la versione più semplice, iniziate il processo incorporando i componenti che facilitano il popolamento del database con i dati pertinenti. Ad esempio, inserendo un elenco di aziende, dipendenti e informazioni di contatto.

Tenete presente che il solo fatto di introdurre un elemento non lo rende immediatamente utilizzabile. Ogni elemento deve essere dotato di una specifica logica operativa, che ne stabilisce l'esatta funzione e le modalità di esecuzione. Ad esempio, per registrare un record nel database, è necessario aggiungere i componenti di input appropriati (che si allineano ai tipi di campo del modello di dati).

Per inserire i dati di un contatto, questi potrebbero comprendere i campi per il nome, il cognome, il numero di telefono, l'e-mail, la data di nascita, la posizione lavorativa, tra gli altri. È necessario anche un pulsante che compili le informazioni compilate e le trasmetta al database. Questo pulsante deve essere configurato con una logica operativa (processo aziendale o flusso di lavoro) che descriva in dettaglio i passaggi necessari per un funzionamento ottimale.

Ad esempio:

  • Cambiare l'aspetto allo stato di caricamento
  • Leggere coerentemente i dati inseriti in ogni campo.
  • Formare un modello di contatto e inserire i dati raccolti nel passaggio precedente.
  • Inviare il modello completato con una richiesta POST a endpoint per creare un nuovo contatto.
  • Rimuovere lo stato di download dal pulsante
  • Elaborare il risultato della richiesta e ottenere lo stato della sua esecuzione.
  • Verificare se la richiesta è andata a buon fine o meno.
  • In caso di errori nella richiesta, visualizzare una notifica appropriata con informazioni sull'errore.
  • In caso di azioni andate a buon fine, aggiornare i dati nella tabella riassuntiva dei contatti.

Risorse aggiuntive:

Fase 4: Creare processi aziendali

A questo punto è possibile iniziare a creare processi aziendali più complessi che consentono di creare o ricevere determinati dati e di aggiungere una logica di lavoro aggiuntiva. Un esempio semplice: quando si crea un'attività, è possibile indicare automaticamente il suo stato, controllare la scadenza per il completamento e calcolare l'ora esatta in cui deve essere eseguita.

Allo stesso tempo, la logica di lavoro può essere complessa e prevedere diverse opzioni di azione a seconda dell'algoritmo. Ad esempio, quando si crea un'attività per un utente specifico, si controlla se esiste un diritto a tale azione, oltre a contare il numero di altre attività già assegnate a questo utente e, se ci sono più di 10 attività attive, riassegnarla automaticamente al dipendente meno occupato in una posizione simile in un'azienda. Guida alla creazione di processi aziendali.

Fase 5: Collegamento e integrazione con servizi esterni

È molto probabile che il Customer Relationship Management (CRM) non sia in grado di operare in modo isolato, ma richieda l'interazione con servizi esterni o funzionalità ausiliarie. Il metodo più conveniente per incorporare questi elementi è l'utilizzo di un mercato di moduli.

Si consideri, ad esempio, lo scenario della creazione di un'attività che richiede l'invio di un'e-mail contenente informazioni pertinenti all'utente. Questo può essere efficacemente realizzato utilizzando il modulo SMTP (Simple Mail Transfer Protocol) personalizzato.

In alternativa, si può inviare un messaggio tramite il messenger Telegram, utilizzando il modulo Telegram. Si può anche desiderare di semplificare il lavoro con le immagini, modificandone automaticamente il formato e le dimensioni con il modulo Image. Ogni modulo è in grado di aumentare i propri modelli di dati, processi aziendali e blocchi per facilitarne l'utilizzo.

Per una dimostrazione dell'uso dei moduli, consultare il seguente link: Esempio di utilizzo dei moduli

È importante notare che l'assenza di un modulo dedicato a uno specifico servizio esterno non ne preclude il potenziale di utilizzo. La creazione di un'integrazione con qualsiasi servizio esterno è possibile attraverso l'uso di sezioni dedicate alle Richieste API esterne o di blocchi per le Richieste HTTP.

Di seguito sono riportati i link che illustrano il processo di integrazione con servizi esterni e l'utilizzo della Richiesta API esterna:

Quanto mi costerà creare e possedere un CRM su AppMaster?

In genere, una soluzione CRM completa richiede un abbonamento Business, mentre una versione più semplice può essere sufficiente per una Startup.

Se si sceglie di gestire da soli lo sviluppo, questo può essere fatto senza alcun costo. In alternativa, avete la possibilità di avvalervi di servizi professionali.

Qual è il tempo necessario per sviluppare un CRM con AppMaster?

La risposta dipende dalla complessità del CRM. Quali entità sono presenti, quante sono, come sono collegate tra loro e che tipo di logica di lavoro è richiesta. In generale, qualcosa di semplice a livello di MVP può essere realizzato in 20-30 ore. Una versione di base funzionante - circa 200 ore. Per progetti complessi, ovviamente, potrebbe essere necessario molto più tempo.

Quali servizi sono in grado di connettersi e integrarsi con il CRM creato da AppMaster?

  • Telegramma
  • Slack
  • Stripe
  • SignIn con Apple
  • Zoom
  • Accedi con Google
  • Cripto
  • LinkedIn
  • Facebook
  • Fogli di Google
  • Lettore Youtube
  • Scanner di codici a barre
  • Google Translate
  • Discordia
  • Google OAuth 2.0
  • AI aperta
  • Mail Chimp
  • e molti altri

Posso scalare la mia applicazione CRM AppMaster

Va notato subito che l'applicazione non è inizialmente limitata in termini di numero di utenti, anche nella versione più semplice. Detto questo, è possibile che nelle opzioni di sottoscrizione iniziali si incontrino limitazioni di prestazioni o di dimensioni del database. Questo problema si risolve utilizzando i propri server anziché l'hosting nel cloud di AppMaster.

Con il piano Business, è possibile ottenere un'immagine del container con l'applicazione o i suoi file binari, e con il piano Enterprise, anche il codice sorgente completo dell'applicazione e la possibilità di utilizzare server distribuiti con un bilanciatore di carico, eliminando completamente i problemi di scalabilità.

Posso assumere qualcuno per costruire il mio CRM?

Per ottenere prestazioni di qualità garantita, potete avvalervi dei servizi professionali. Se avete bisogno di un'opzione più economica, potete ricorrere ai servizi dei freelance o contattare i partner certificati di AppMaster.

Come AppMaster costruisce il vostro CRM tecnicamente

AppMaster è un potente strumento che semplifica e velocizza il processo di creazione del CRM gestendo gli aspetti tecnici in modo snello. Il processo può essere suddiviso nelle seguenti fasi:

  • Specifiche: L'utente fornisce le specifiche del CRM inserendo schemi di dati, schemi di processi aziendali, endpoints, variabili, elementi dell'interfaccia utente e trigger in AppMaster Studio. Questi input fungono da progetti per la futura applicazione CRM e vengono archiviati come documentazione.
  • Generazione del codice: Dopo aver fatto clic sul pulsante "Publish", AppMaster elabora e standardizza le specifiche fornite. Quindi genera il codice sorgente per l'applicazione CRM in vari linguaggi, come Go per il backend, Vue 3 per il frontend, Swift per le app iOS e Kotlin per le app Android. AppMaster utilizza l'elaborazione parallela e prestazioni eccezionali per generare codice a una velocità impressionante di oltre 22.000 linee al secondo.
  • Compilazione: Una volta completata la generazione del codice, AppMaster compila l'applicazione CRM, concentrandosi sulla compilazione del backend e sul bundling dell'applicazione web. Questa fase richiede solo pochi secondi in più.
  • Test: Prima della distribuzione, AppMaster conduce una fase di test approfondita per garantire la funzionalità dell'applicazione CRM e identificare potenziali problemi.
  • Impacchettamento e archiviazione: Le applicazioni di backend vengono impacchettate in contenitori Docker per l'isolamento, quindi caricate in un registro Docker dedicato all'interno della piattaforma. Questi contenitori vengono conservati temporaneamente fino alla distribuzione. Allo stesso modo, i pacchetti di applicazioni web vengono compressi in archivi zip e caricati in un repository di artefatti per l'hosting o la distribuzione.
  • Distribuzione: La fase finale prevede la distribuzione del CRM sui server di destinazione, rendendolo accessibile agli utenti.

Sfruttando la piattaforma AppMaster, il processo di creazione delle app è notevolmente migliorato, riducendo il tempo e l'impegno richiesti dalla codifica manuale, dalla compilazione, dai test, dal packaging e dal deployment. L'intero processo può essere completato in soli 20 secondi, contribuendo a una maggiore efficienza complessiva nello sviluppo di CRM.