An open API service indexing awesome lists of open source software.

https://github.com/mateogiuffra/portfolio

Personal Portfolio made with React
https://github.com/mateogiuffra/portfolio

css html javascript portfolio portfolio-website proyects react

Last synced: about 1 month ago
JSON representation

Personal Portfolio made with React

Awesome Lists containing this project

README

          

# Mateo Giuffra Portfolio

### About Me

I'm an advanced Computer Science student at the [National University of Quilmes (UNQ)](https://www.unq.edu.ar/inicio/).
My main stack includes **Java with Spring** for backend and **React** for frontend development. I've also built several projects using **Python**, working with tools like **Selenium**, **Pandas**, and **Flask** to create REST APIs with real persistence in **NoSQL databases** such as Firebase.

I have hands-on experience with both **SQL** databases (MySQL, PostgreSQL) and **NoSQL** databases (MongoDB, Neo4j, Firebase).
In addition, I’m familiar with key backend concepts such as:

* What an ORM is and how it works
* CAP theorem
* Diferent persistence strategies
* ACID properties
* How dependency injection works in Spring
* The **SOLID** principles
* Clean architecture and best coding practices
* Design Patterns

---

### Technologies

* React
* JavaScript / JSX
* Java (Spring Boot, Spring WebFlux)
* Python (Flask, Pandas, Selenium)
* Firebase / MongoDB / Neo4j / MySQL / PostgreSQL

---

### Projects

#### **Epergeist (Java Spring + Neo4j + MongoDB + MySQL + Firebase)**

A full backend system developed as a capstone project for the *Persistence Strategies* course at UNQ.
The project explores integrating multiple persistence mechanisms in a fictional domain where **Spirits**, **Mediums**, and **Locations** interact.

**Key features:**

* **MySQL:** Stores structured entities
* **Neo4j:** Used for graph traversal and relationships between spirits and mediums via Cypher
* **MongoDB:** Used for geospatial queries on location data
* **Firebase:** Realtime data persistence and reactive updates using WebFlux
* **Spring Boot:** Modular layered architecture with domain-driven design

**Course Concepts Applied:**

* ORM (Hibernate, JPA)
* Dependency Injection and Transaction Management
* CAP Theorem and ACID properties
* Clean Architecture and Repository pattern
* Reactive programming with **Mono** and **Flux**
* Unit, integration, and E2E testing (JUnit, MockMVC, Postman)

**Technologies:** Java 21, Spring Boot, Spring WebFlux, Neo4j, MongoDB, MySQL, Firebase
[GitHub Repository](https://github.com/MateoGiuffra/epersgeist)

> **Note:** This was a group academic project. Since I couldn't fork the original repo, I created a separate one for demonstration purposes. It is under academic use license.

---

#### **Web Scraper + API REST (Selenium + Flask)**

Automates data extraction from websites using **Selenium**, then serves the collected data via a custom **REST API** built with Flask.

**Key features:**

* Headless browser automation
* Structured data exposure via REST endpoints
* Export to Excel or JSON

**Technologies:** Python, Selenium, Flask, Pandas
[GitHub Repository](https://github.com/MateoGiuffra/webscraper-api)

---

#### **OCR Receipt Tracker (Telegram Bot + Flask + Google Sheets)**

A Telegram bot integrated with a **Flask API** that processes receipt images via **OCR**, categorizes expenses, and uploads them to Google Sheets.

**Key features:**

* Telegram bot interface for uploading photos
* Text extraction with OCR
* Categorization and dynamic storage in spreadsheet tabs

**Technologies:** Python, Flask, Pandas, Google Sheets API, Telegram Bot API, OCR
[GitHub Repository](https://github.com/MateoGiuffra/ticket-bot)

---

### Connect with Me