During my external internship, I had the opportunity to work with a team on the development of part of the EvoHunt application, a startup in the HR Tech sector currently in the development stage. Specifically, I served as a backend developer, focusing on the development of REST (REpresentational State Transfer) APIs (Application Programming Interface) to handle operations for retrieving, updating, inserting, and performing logical deletion of data within our database. For the development, we used the NestJS framework, which is known for building server-side applications in Node.js. This framework allowed us to organize the code in a modular way, efficiently manage dependency injection, and easily integrate other frameworks and libraries, such as Fastify for handling HTTP requests and TypeORM for database interaction. The programming language used for the project was TypeScript. Regarding database interaction, we used TypeORM, an ORM (Object-Relational Mapping) library for TypeScript that simplifies the mapping between classes and database tables, enabling the execution of queries without writing SQL, but through TypeScript methods. The database we used for managing, collecting, and accessing data was MariaDB, an open-source RDBMS (Relational Database Management System) developed as a fork of MySQL. Finally, we tested the developed APIs using both Swagger, an ecosystem of tools that simplifies the design, documentation, and management of REST APIs, and Postman, a tool for API testing and automation. Thanks to these tools, we were able to verify the implemented endpoints, test requests and their respective responses, and assess both the accuracy and efficiency of the APIs we developed.
Durante il mio stage esterno, ho avuto l’opportunità di lavorare, insieme ad un team, allo sviluppo di una parte dell’applicativo EvoHunt, una startup in fase di sviluppo attiva nel settore HR Tech. In particolare, ho ricoperto il ruolo di backend developer, concentrandomi sullo sviluppo di API (Application Programming Interface) REST (REpresentational State Transfer) per gestire operazioni di reperimento, aggiornamento, inserimento e cancellazione logica dei dati all’interno del nostro database. Per lo sviluppo, abbiamo utilizzato il framework NestJS, noto per la creazione di applicazioni server-side in Node.js. Questo framework ci ha permesso di organizzare il codice in modo modulare, di gestire in maniera efficiente l’iniezione delle dipendenze e di integrare facilmente altri framework e librerie, come Fastify per la gestione delle richieste HTTP e TypeORM per l’interazione con il database. Il linguaggio di programmazione utilizzato per il progetto è stato TypeScript. Per quanto riguarda l’interazione con il database, abbiamo impiegato TypeORM, una libreria ORM (Object-Relational Mapping) per TypeScript che facilita la mappatura tra le classi e le tabelle del database, permettendo di eseguire query senza dover scrivere SQL, ma tramite metodi TypeScript. Il database che abbiamo utilizzato per la gestione, la raccolta e l’accesso ai dati è MariaDB, un RDBMS (Relational Database Management System) open-source nato come fork di MySQL. Infine, abbiamo testato le API sviluppate utilizzando sia Swagger, un ecosistema di strumenti che semplifica la progettazione, la documentazione e la gestione delle API REST, sia Postman, uno strumento di testing e automazione delle API. Grazie al loro utilizzo, abbiamo potuto verificare gli endpoint implementati, testare le richieste e le relative risposte, e valutare sia la correttezza che l’efficienza delle API realizzate.
Progettazione e Sviluppo di API REST per Startup : Un Percorso con NestJS
SPINA, MATTIA
2023/2024
Abstract
Durante il mio stage esterno, ho avuto l’opportunità di lavorare, insieme ad un team, allo sviluppo di una parte dell’applicativo EvoHunt, una startup in fase di sviluppo attiva nel settore HR Tech. In particolare, ho ricoperto il ruolo di backend developer, concentrandomi sullo sviluppo di API (Application Programming Interface) REST (REpresentational State Transfer) per gestire operazioni di reperimento, aggiornamento, inserimento e cancellazione logica dei dati all’interno del nostro database. Per lo sviluppo, abbiamo utilizzato il framework NestJS, noto per la creazione di applicazioni server-side in Node.js. Questo framework ci ha permesso di organizzare il codice in modo modulare, di gestire in maniera efficiente l’iniezione delle dipendenze e di integrare facilmente altri framework e librerie, come Fastify per la gestione delle richieste HTTP e TypeORM per l’interazione con il database. Il linguaggio di programmazione utilizzato per il progetto è stato TypeScript. Per quanto riguarda l’interazione con il database, abbiamo impiegato TypeORM, una libreria ORM (Object-Relational Mapping) per TypeScript che facilita la mappatura tra le classi e le tabelle del database, permettendo di eseguire query senza dover scrivere SQL, ma tramite metodi TypeScript. Il database che abbiamo utilizzato per la gestione, la raccolta e l’accesso ai dati è MariaDB, un RDBMS (Relational Database Management System) open-source nato come fork di MySQL. Infine, abbiamo testato le API sviluppate utilizzando sia Swagger, un ecosistema di strumenti che semplifica la progettazione, la documentazione e la gestione delle API REST, sia Postman, uno strumento di testing e automazione delle API. Grazie al loro utilizzo, abbiamo potuto verificare gli endpoint implementati, testare le richieste e le relative risposte, e valutare sia la correttezza che l’efficienza delle API realizzate.File | Dimensione | Formato | |
---|---|---|---|
Tesi_MattiaSpina.pdf
non disponibili
Descrizione: Tesi laurea triennale Informatica del tirocinio esterno effettuato presso l'azienda Evohunt
Dimensione
758.81 kB
Formato
Adobe PDF
|
758.81 kB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14240/1914