feat: implement dynamic date calculation for projects
- Remove hardcoded startDate from La Porra project - Add gitRepoUrl field to Project struct for dynamic date fetching - Implement backend logic to fetch first commit date from git repositories - Add processProjectDates function to calculate dates dynamically - Update template to display computed dates and dynamic "Present/Presente" - Add support for both static and git-based project start dates When a project has a gitRepoUrl, the system automatically fetches the first commit date from the repository. For current projects, it displays "Present" (English) or "Presente" (Spanish) dynamically from the backend. The La Porra project now uses git repository path for date calculation instead of hardcoded JSON values.
This commit is contained in:
+44
-43
@@ -309,27 +309,6 @@
|
||||
],
|
||||
"skills": {
|
||||
"technical": [
|
||||
{
|
||||
"category": "AI-Assisted Development",
|
||||
"proficiency": 5,
|
||||
"items": [
|
||||
"AI Development Workflows (Claude Code, Copilot, GPT-4)",
|
||||
"Agent-Based & Spec-Driven Development",
|
||||
"Prompt Engineering & AI Integration",
|
||||
"Automated Code Generation & Documentation",
|
||||
"OpenAI & Anthropic APIs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "SAP Technologies",
|
||||
"proficiency": 5,
|
||||
"items": [
|
||||
"SAP Customer Data Cloud (CDC)",
|
||||
"SAP Cloud Platform",
|
||||
"SAP S/4HANA",
|
||||
"GDPR Compliance & Data Protection"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Programming Languages",
|
||||
"proficiency": 4,
|
||||
@@ -347,6 +326,27 @@
|
||||
"Assembler"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "SAP Technologies",
|
||||
"proficiency": 5,
|
||||
"items": [
|
||||
"SAP Customer Data Cloud (CDC)",
|
||||
"SAP Cloud Platform",
|
||||
"SAP S/4HANA",
|
||||
"GDPR Compliance & Data Protection"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "AI-Assisted Development",
|
||||
"proficiency": 5,
|
||||
"items": [
|
||||
"AI Development Workflows (Claude Code, Copilot, GPT-4)",
|
||||
"Agent-Based & Spec-Driven Development",
|
||||
"Prompt Engineering & AI Integration",
|
||||
"Automated Code Generation & Documentation",
|
||||
"OpenAI & Anthropic APIs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Go Ecosystem",
|
||||
"proficiency": 5,
|
||||
@@ -414,20 +414,6 @@
|
||||
"Enterprise Application Servers (Tomcat, JBoss, WebLogic)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Databases",
|
||||
"proficiency": 4,
|
||||
"sidebar": "right",
|
||||
"items": [
|
||||
"PostgreSQL",
|
||||
"MySQL",
|
||||
"SQLite",
|
||||
"Oracle",
|
||||
"MongoDB (NoSQL)",
|
||||
"SQL Knowledge",
|
||||
"Database Design & Optimization"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Infrastructure & Servers",
|
||||
"proficiency": 5,
|
||||
@@ -452,6 +438,20 @@
|
||||
"Process Automation & Scripting"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Databases",
|
||||
"proficiency": 4,
|
||||
"sidebar": "right",
|
||||
"items": [
|
||||
"PostgreSQL",
|
||||
"MySQL",
|
||||
"SQLite",
|
||||
"Oracle",
|
||||
"MongoDB (NoSQL)",
|
||||
"SQL Knowledge",
|
||||
"Database Design & Optimization"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Team Management",
|
||||
"proficiency": 4,
|
||||
@@ -763,8 +763,8 @@
|
||||
"title": "La Porra.club - Football Prediction Platform",
|
||||
"url": "https://laporra.club",
|
||||
"projectLogo": "laporra.png",
|
||||
"gitRepoUrl": "/Users/txeo/laporra",
|
||||
"location": "Online",
|
||||
"startDate": "2024-06",
|
||||
"current": true,
|
||||
"technologies": ["Node.js", "Hono", "HTMX", "Panini Templates", "Server-Side Rendering"],
|
||||
"shortDescription": "Private invitation-only platform for friends to predict football competition results. Features gamification with digital rewards and competitive scoring system.",
|
||||
@@ -799,14 +799,15 @@
|
||||
"projectLogo": "",
|
||||
"location": "Various",
|
||||
"startDate": "2015",
|
||||
"endDate": "2016",
|
||||
"current": false,
|
||||
"technologies": ["JavaScript", "React", "Node.js", "PHP", "WordPress", "Web Development"],
|
||||
"shortDescription": "Collection of client projects and websites including <strong><a href='https://lidering.com' target='_blank' rel='noopener noreferrer'>Lidering</a></strong>, <strong><a href='https://jorpack.com' target='_blank' rel='noopener noreferrer'>Jorpack</a></strong>, <strong><a href='https://deliverybikesbcn.com/' target='_blank' rel='noopener noreferrer'>Delivery Bikes BCN</a></strong>, and <strong><a href='https://mobbeel.com' target='_blank' rel='noopener noreferrer'>Mobbeel</a></strong> where I contributed to development, implementation, and technical solutions across various industries.",
|
||||
"responsibilities": [
|
||||
"<img src='/static/images/projects/lidering.png' alt='Lidering'><div><strong><a href='https://lidering.com' target='_blank' rel='noopener noreferrer'>Lidering</a></strong> (via Twentic): Real estate and property management platform development</div>",
|
||||
"<img src='/static/images/projects/jorpack.png' alt='Jorpack'><div><strong><a href='https://jorpack.com' target='_blank' rel='noopener noreferrer'>Jorpack</a></strong> (via Twentic): Industrial packaging solutions and corporate website</div>",
|
||||
"<img src='/static/images/projects/deliverybikes.png' alt='Delivery Bikes BCN'><div><strong><a href='https://deliverybikesbcn.com/' target='_blank' rel='noopener noreferrer'>Delivery Bikes BCN</a></strong>: Bicycle delivery service platform for Barcelona</div>",
|
||||
"<iconify-icon icon='mdi:security' width='60' height='60' class='default-company-icon'></iconify-icon><div><strong><a href='https://mobbeel.com' target='_blank' rel='noopener noreferrer'>Mobbeel</a></strong>: Biometric authentication and identity verification solutions website</div>"
|
||||
"<img src='/static/images/projects/lidering.png' alt='Lidering'><div><strong><a href='https://lidering.com' target='_blank' rel='noopener noreferrer'>Lidering</a></strong> (via Twentic) <em>2015</em>: Developed and implemented comprehensive real estate and property management platform with advanced search functionality, property listings, and client management features</div>",
|
||||
"<img src='/static/images/projects/jorpack.png' alt='Jorpack'><div><strong><a href='https://jorpack.com' target='_blank' rel='noopener noreferrer'>Jorpack</a></strong> (via Twentic) <em>2015</em>: Created corporate website and e-commerce solution for industrial packaging company, featuring product catalog, custom quote system, and business process integration</div>",
|
||||
"<img src='/static/images/projects/deliverybikes.png' alt='Delivery Bikes BCN'><div><strong><a href='https://deliverybikesbcn.com/' target='_blank' rel='noopener noreferrer'>Delivery Bikes BCN</a></strong> <em>2016</em>: Built web platform for bicycle delivery service in Barcelona, including route optimization, real-time tracking, and customer booking system</div>",
|
||||
"<iconify-icon icon='mdi:security' width='60' height='60' class='default-company-icon'></iconify-icon><div><strong><a href='https://mobbeel.com' target='_blank' rel='noopener noreferrer'>Mobbeel</a></strong> <em>2015</em>: Designed and developed corporate website for biometric authentication and identity verification solutions provider, showcasing security products and enterprise services</div>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -862,11 +863,11 @@
|
||||
}
|
||||
],
|
||||
"other": {
|
||||
"driverLicense": "Type B"
|
||||
"driverLicense": "<strong>Type B</strong>"
|
||||
},
|
||||
"meta": {
|
||||
"version": "2024",
|
||||
"lastUpdated": "2024-10-18",
|
||||
"version": "2025-11-09",
|
||||
"lastUpdated": "2025-11-08",
|
||||
"format": "JSON Resume Extended",
|
||||
"language": "en"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user