Un sistema CRM proprio, sviluppato per gestire la mia attività freelance. Nel sistema gestisco i clienti, creo per loro progetti e attività, traccio il tempo sulle attività e il sistema calcola automaticamente il costo del lavoro svolto. I dati vengono aggregati per attività, progetto e cliente, offrendo un quadro completo dei ricavi a tutti i livelli.
Per l'analytics è disponibile una dashboard dedicata con grafici e diagrammi: posso consultare i dati per ogni giorno — quali attività sono state svolte, con quali progetti e clienti ho lavorato e quanto ho guadagnato al giorno, alla settimana o al mese. Inoltre, il CRM include moduli di analytics sui lead e sulle offerte di lavoro: posso gestire i lead con attributi (freddo/caldo, fonte, ecc.) e monitorare la conversione in clienti, nonché gestire le posizioni con stati e fonti per analizzare la pertinenza delle offerte rispetto alle mie competenze, il successo nei colloqui e i canali di ricerca più efficaci.
Il sistema è costruito su Symfony (backend), Vue (frontend), PostgreSQL (database principale), Redis (cache e sessioni), ElasticSearch (ricerca e analytics) e RabbitMQ (elaborazione asincrona).
CRM personale per freelance
Un sistema CRM proprio, sviluppato per gestire la mia attività freelance. Nel sistema gestisco i clienti, creo per loro progetti e attività, traccio il tempo sulle attività e il sistema calcola automaticamente il costo del lavoro svolto.
I dati vengono aggregati per attività, progetto e cliente, offrendo un quadro completo dei ricavi a tutti i livelli. Poiché un cliente può avere più progetti, l'aggregazione viene effettuata sia per progetto sia per cliente nel suo complesso.
Per l'analytics è disponibile una dashboard dedicata con grafici e diagrammi: posso consultare i dati per ogni giorno — quali attività sono state svolte, con quali progetti e clienti ho lavorato e quanto ho guadagnato al giorno, alla settimana o al mese.
Inoltre, il CRM include moduli di analytics sui lead e di analytics sulle offerte di lavoro:
- Lead: aggiunta di lead con attributi (freddo/caldo, fonte, ecc.), monitoraggio degli stati e della conversione in clienti. Una scheda dedicata nella dashboard mostra quanti lead sono stati acquisiti, i loro stati e quanti sono stati convertiti in clienti. Ciò consente di analizzare la performance di acquisizione dei lead e di adattare le azioni.
- Offerte di lavoro: gestione delle posizioni con stati e fonti, analisi della pertinenza delle posizioni rispetto alle mie competenze e del successo nei colloqui. Una scheda dedicata nella dashboard aiuta a capire se sto cercando correttamente le posizioni, quali canali funzionano meglio e come adattare il mio comportamento nei colloqui.
Il mio ruolo nel progetto
Sviluppatore full-stack e autore del progetto: progettazione dell'architettura, sviluppo backend su Symfony, frontend su Vue, configurazione dell'infrastruttura (PostgreSQL, Redis, ElasticSearch, RabbitMQ).
Stack tecnologico
- Backend: Symfony (PHP)
- Frontend: Vue.js
- Database: PostgreSQL
- Cache e sessioni: Redis
- Ricerca e analytics: ElasticSearch
- Code: RabbitMQ
Attività chiave
- Progettazione del modello di dominio: clienti, progetti, attività, tempo, tariffe
- Tracciamento del tempo sulle attività e calcolo automatico del costo del lavoro
- Aggregazione dei dati per attività, progetto e cliente
- Dashboard con grafici e diagrammi per l'analytics dei ricavi
- Modulo di analytics sui lead con attributi e conversione
- Modulo di analytics sulle offerte di lavoro con stati e fonti
- Elaborazione asincrona degli eventi tramite RabbitMQ
- Ricerca sui dati tramite ElasticSearch
- Caching e ottimizzazione dell'output tramite Redis
Risultato
Un CRM personale pienamente funzionale che copre la gestione di clienti, progetti e attività, automatizza il calcolo dei ricavi e fornisce analytics su ricavi, lead e offerte di lavoro. Il sistema aiuta a prendere decisioni basate sui dati: quali canali di acquisizione dei lead sono efficaci, quali posizioni sono pertinenti e quanto è stato guadagnato al giorno, alla settimana o al mese.