{"id":28547675,"url":"https://github.com/mateogiuffra/portfolio","last_synced_at":"2026-05-05T18:36:29.072Z","repository":{"id":292796746,"uuid":"926742740","full_name":"MateoGiuffra/portfolio","owner":"MateoGiuffra","description":"Personal Portfolio made with React ","archived":false,"fork":false,"pushed_at":"2025-06-06T17:32:43.000Z","size":3807,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-06T18:35:27.361Z","etag":null,"topics":["css","html","javascript","portfolio","portfolio-website","proyects","react"],"latest_commit_sha":null,"homepage":"https://mateogiuffra.github.io/portfolio/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MateoGiuffra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-03T19:31:11.000Z","updated_at":"2025-06-06T17:32:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"4ff2ca07-7163-4e7e-ab1d-e1a54573082e","html_url":"https://github.com/MateoGiuffra/portfolio","commit_stats":null,"previous_names":["mateogiuffra/portfolio"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateoGiuffra%2Fportfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateoGiuffra%2Fportfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateoGiuffra%2Fportfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateoGiuffra%2Fportfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MateoGiuffra","download_url":"https://codeload.github.com/MateoGiuffra/portfolio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MateoGiuffra%2Fportfolio/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258983311,"owners_count":22788179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","html","javascript","portfolio","portfolio-website","proyects","react"],"created_at":"2025-06-10T00:37:38.315Z","updated_at":"2025-10-23T17:37:42.831Z","avatar_url":"https://github.com/MateoGiuffra.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mateo Giuffra Portfolio\n\n### About Me\n\nI'm an advanced Computer Science student at the [National University of Quilmes (UNQ)](https://www.unq.edu.ar/inicio/).\nMy 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.\n\nI have hands-on experience with both **SQL** databases (MySQL, PostgreSQL) and **NoSQL** databases (MongoDB, Neo4j, Firebase).\nIn addition, I’m familiar with key backend concepts such as:\n\n* What an ORM is and how it works\n* CAP theorem\n* Diferent persistence strategies\n* ACID properties \n* How dependency injection works in Spring\n* The **SOLID** principles\n* Clean architecture and best coding practices\n* Design Patterns \n\n---\n\n### Technologies\n\n* React\n* JavaScript / JSX\n* Java (Spring Boot, Spring WebFlux)\n* Python (Flask, Pandas, Selenium)\n* Firebase / MongoDB / Neo4j / MySQL / PostgreSQL\n\n---\n\n### Projects\n\n#### **Epergeist (Java Spring + Neo4j + MongoDB + MySQL + Firebase)**\n\nA full backend system developed as a capstone project for the *Persistence Strategies* course at UNQ.\nThe project explores integrating multiple persistence mechanisms in a fictional domain where **Spirits**, **Mediums**, and **Locations** interact.\n\n**Key features:**\n\n* **MySQL:** Stores structured entities\n* **Neo4j:** Used for graph traversal and relationships between spirits and mediums via Cypher\n* **MongoDB:** Used for geospatial queries on location data\n* **Firebase:** Realtime data persistence and reactive updates using WebFlux\n* **Spring Boot:** Modular layered architecture with domain-driven design\n\n**Course Concepts Applied:**\n\n* ORM (Hibernate, JPA)\n* Dependency Injection and Transaction Management\n* CAP Theorem and ACID properties\n* Clean Architecture and Repository pattern\n* Reactive programming with **Mono** and **Flux**\n* Unit, integration, and E2E testing (JUnit, MockMVC, Postman)\n\n**Technologies:** Java 21, Spring Boot, Spring WebFlux, Neo4j, MongoDB, MySQL, Firebase\n[GitHub Repository](https://github.com/MateoGiuffra/epersgeist)\n\n\u003e **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.\n\n---\n\n#### **Web Scraper + API REST (Selenium + Flask)**\n\nAutomates data extraction from websites using **Selenium**, then serves the collected data via a custom **REST API** built with Flask.\n\n**Key features:**\n\n* Headless browser automation\n* Structured data exposure via REST endpoints\n* Export to Excel or JSON\n\n**Technologies:** Python, Selenium, Flask, Pandas\n[GitHub Repository](https://github.com/MateoGiuffra/webscraper-api)\n\n---\n\n#### **OCR Receipt Tracker (Telegram Bot + Flask + Google Sheets)**\n\nA Telegram bot integrated with a **Flask API** that processes receipt images via **OCR**, categorizes expenses, and uploads them to Google Sheets.\n\n**Key features:**\n\n* Telegram bot interface for uploading photos\n* Text extraction with OCR\n* Categorization and dynamic storage in spreadsheet tabs\n\n**Technologies:** Python, Flask, Pandas, Google Sheets API, Telegram Bot API, OCR\n[GitHub Repository](https://github.com/MateoGiuffra/ticket-bot)\n\n---\n\n### Connect with Me\n\n\u003ca href=\"https://www.linkedin.com/in/mateo-giuffra-023682289/\"\u003e\u003cimg src=\"https://img.shields.io/badge/LinkedIn-0A66C2?\u0026style=for-the-badge\u0026logo=LinkedIn\u0026logoColor=white\" /\u003e\u003c/a\u003e \u003ca href=\"mailto:matteogiuffrah40@gmail.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Email-EA4335?\u0026style=for-the-badge\u0026logo=Gmail\u0026logoColor=white\" /\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateogiuffra%2Fportfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmateogiuffra%2Fportfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateogiuffra%2Fportfolio/lists"}