Blog.

Course Platform | Update 1


Autore
Andrea Provino
Data
Tempo di lettura
3 minuti
Categoria
Portfolio

course-platform-data-science-mern-stack-full-stack-developer-front-end-back-end.jpg

Sono lieto di darti il benvenuto in questa serie di post che analizzeranno l’intero processo di sviluppo di una piattaforma per la vendita di corsi online(course platform).

Hai capito bene. Ti offro la possibilità di seguirmi nello sviluppo, passo a passo, dal nulla a progetto terminato, di una piattaforma web per la vendita e la gestione di corsi online.

Sarà complicato e laborioso, ma senz’altro memorabile

È un blog di intelligenza artificiale, machine learning e data science, quindi se ti stai chiedendo per quale motivo dovresti seguire lo sviluppo di una web course platform… beh avresti perfettamente ragione.

Ricordi il discorso di Seth sulla mucca viola?

Dobbiamo differenziarci!

Come?

Diventando dei Data Scientist Full-Stack.

Calma Calma. La spiegazione arriva.

Full Stack Developer

Nel magico mondo del web developing, distinguiamo due figure:

  • Front-end developer, colui che cura la parte estetica di un sito web (UX/UI design) e si assicura che i dati provenienti e diretti al server siano gestiti al meglio. In pratica conosce i linguaggi di markup HTML, CSS e usa i framework Javascript, come React.js o Vue.js, per agevolare il suo lavoro.
  • Back-end developer, gestisce invece tutto ciò che concerne il server. Autorizzazioni, sicurezza, operazioni di lettura e scrittura sul Database e via dicendo. Spesso cura anche le così dette DevOps. Crea istanze server su piattaforme come AWS (Amazon Web Services) e GCP (Google Cloud Platform).
  • Full-stack developer, è l’unione delle due figure. Capace di gestire un progetto nella sua interezza, un full-stack developer è un risorsa preziosa, meticolosa ed esperta.

I requisiti per diventare una mucca viola sono ancora più alti. L’asticella deve essere alzata.

Abbiamo detto che la figura del data scientist raggiunge la massima produttività fondendo le sue conoscenze di analisi con quelle proprie di un dominio professionale, il così detto domain knowledge.

Dal momento che non siamo ancora dentro un dominio particolare, la nostra soluzione è diventare completamente autonomi a livello di pipeline: dalla creazione di sistemi per la raccolta dati, passando per la relazione di modelli, al loro rilascio in produzione, fruibili quindi dagli utenti finali.

Questo progetto, course platform, serve per acquisire maggiori conoscenze nello sviluppo web. Ottima flessibilità e logiche a componenti.

Perfetto. Ora che siamo allineati, vediamo come procedere.

Requisiti progetto course platform

Pensare di realizzare da zero una piattaforma completa è assurdo.

Procederemo per step, definendo i componenti essenziali e progettandoli in modo che siano integrabili senza soluzione di continuità.

Una piattaforma per la gestione dei corsi si basa su un e-commerce.

Abbiamo la selezione del corso da acquistare, la fase di acquisto e quella di uso. A questo aggiungiamo una dashboard che sarà uso esclusivo degli amministratori e con cui potranno facilmente gestire utenti e risorse.

Ottimo!

Quindi, prima di creare course platform andremo a realizzare un super basic super simple e-commerce.

Quali sono i costituenti base di un e-commerce? Bella domanda.

E-commerce MVP

Ci serve un prodotto base ma funzionante. In gergo è chiamato MVP (Minimum Valuable Product). Quali sono quindi i componenti che non possono prescindere?

  • Sistema di login
  • Sistema di pagamento
  • Caricamento e gestione dei prodotti
  • Monitoraggio ordini

Nel concreto, useremo le seguenti tecnologie.

Andremo a creare un monolitich MERN stack. Un MERN stack è l’unione di più sistemi, chiamati in questo caso:

  • MongoDb (database non relazionale)
  • React (web JavaScript Framework)
  • Express js (framework per Web API)
  • Node js (un runtime environment)

Monolithic perché in soldoni l’intero codice del server sarà su un unico progetto, e non differenziato in sotto progetti.

Curioso di non perderti nemmeno un update? Seguimi e lascia la tua email! Niente spam. Promesso

Un caldo abbraccio, Andrea

Taggeddata scienceportfolio project


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum