From ec6468f81e15240dc45437b25a70dd80b8a0d868 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Thu, 7 Jul 2022 12:05:07 -0400
Subject: [PATCH 01/12] Update About.test.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Modificaciones realizadas . Se modificó import { mount} por import { shallow }
---
src/__test__/components/About.test.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/__test__/components/About.test.js b/src/__test__/components/About.test.js
index 4f3bd51a..e2471171 100644
--- a/src/__test__/components/About.test.js
+++ b/src/__test__/components/About.test.js
@@ -1,5 +1,5 @@
import React from 'react';
-import { mount } from 'enzyme';
+import { shallow } from 'enzyme';
import About from '../../components/About';
describe('', () => {
From ab19e81494c58e3037a203360bd13617ba951a9e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Thu, 7 Jul 2022 12:07:13 -0400
Subject: [PATCH 02/12] Update About.test.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Además realice la modificación const about = shallow()
---
src/__test__/components/About.test.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/__test__/components/About.test.js b/src/__test__/components/About.test.js
index e2471171..2fb74860 100644
--- a/src/__test__/components/About.test.js
+++ b/src/__test__/components/About.test.js
@@ -3,7 +3,7 @@ import { shallow } from 'enzyme';
import About from '../../components/About';
describe('', () => {
- const about = mount();
+ const about = shallow();
test('About render', () => {
expect(about.length).toEqual(1);
From 2a99706c932c5b7aa5677433eaa5d0691e5d3fee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Thu, 7 Jul 2022 12:11:25 -0400
Subject: [PATCH 03/12] Update Academic.test.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Modificación de mount por shallow, mencionadas en Discord
---
src/__test__/components/Academic.test.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/__test__/components/Academic.test.js b/src/__test__/components/Academic.test.js
index 10718e5d..fd929310 100644
--- a/src/__test__/components/Academic.test.js
+++ b/src/__test__/components/Academic.test.js
@@ -1,9 +1,9 @@
import React from 'react';
-import { mount } from 'enzyme';
+import { shallow } from 'enzyme';
import Academic from '../../components/Academic';
describe('', () => {
- const academic = mount();
+ const academic = shallow();
test('Academic render', () => {
expect(academic.length).toEqual(1);
From d475b52d5974628eea3ca0733506d3068cb459c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Thu, 7 Jul 2022 12:12:07 -0400
Subject: [PATCH 04/12] Update Experience.test.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Modificación de mount por shallow, mencionadas en Discord
---
src/__test__/components/Experience.test.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/__test__/components/Experience.test.js b/src/__test__/components/Experience.test.js
index 6ddf5fbf..2f4f4bda 100644
--- a/src/__test__/components/Experience.test.js
+++ b/src/__test__/components/Experience.test.js
@@ -1,9 +1,9 @@
import React from 'react';
-import { mount } from 'enzyme';
+import { shallow } from 'enzyme';
import Experience from '../../components/Experience';
describe('', () => {
- const experience = mount();
+ const experience = shallow();
test('Experience render', () => {
expect(experience.length).toEqual(1);
From a008c9a103f47503d24ab8f4f587313158788a47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Thu, 7 Jul 2022 12:12:47 -0400
Subject: [PATCH 05/12] Update Header.test.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Modificación de mount por shallow, mencionadas en Discord
---
src/__test__/components/Header.test.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/__test__/components/Header.test.js b/src/__test__/components/Header.test.js
index 894ec0ab..51864583 100644
--- a/src/__test__/components/Header.test.js
+++ b/src/__test__/components/Header.test.js
@@ -1,9 +1,9 @@
import React from 'react';
-import { mount } from 'enzyme';
+import { shallow } from 'enzyme';
import Header from '../../components/Header';
describe('', () => {
- const header = mount();
+ const header = shallow();
test('Header render', () => {
expect(header.length).toEqual(1);
From 87d1b09cdfd3772b303f8f97bb64df76f05869bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Thu, 7 Jul 2022 12:13:27 -0400
Subject: [PATCH 06/12] Update Interest.test.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Modificación de mount por shallow, mencionadas en Discord
---
src/__test__/components/Interest.test.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/__test__/components/Interest.test.js b/src/__test__/components/Interest.test.js
index cbf665b3..ce24af5f 100644
--- a/src/__test__/components/Interest.test.js
+++ b/src/__test__/components/Interest.test.js
@@ -1,9 +1,9 @@
import React from 'react';
-import { mount } from 'enzyme';
+import { shallow } from 'enzyme';
import Interest from '../../components/Interest';
describe('', () => {
- const interest = mount();
+ const interest = shallow();
test('Interest render', () => {
expect(interest.length).toEqual(1);
From c6d7dcba2ae98a4bfc33ff1ccd0be4193d936305 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Thu, 7 Jul 2022 12:14:15 -0400
Subject: [PATCH 07/12] Update Languages.test.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Modificación de mount por shallow, mencionadas en Discord
---
src/__test__/components/Languages.test.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/__test__/components/Languages.test.js b/src/__test__/components/Languages.test.js
index 1d10e137..d43e5621 100644
--- a/src/__test__/components/Languages.test.js
+++ b/src/__test__/components/Languages.test.js
@@ -1,9 +1,9 @@
import React from 'react';
-import { mount } from 'enzyme';
+import { shallow } from 'enzyme';
import Languages from '../../components/Languages';
describe('', () => {
- const languages = mount();
+ const languages = shallow();
test('Languages render', () => {
expect(languages.length).toEqual(1);
From c3fd2786dc30d71c5b23cf1d46bc62136f598bd3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Thu, 7 Jul 2022 12:15:00 -0400
Subject: [PATCH 08/12] Update Profile.test.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Modificación de mount por shallow, mencionadas en Discord
---
src/__test__/components/Profile.test.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/__test__/components/Profile.test.js b/src/__test__/components/Profile.test.js
index f71ed22b..28b1781a 100644
--- a/src/__test__/components/Profile.test.js
+++ b/src/__test__/components/Profile.test.js
@@ -1,9 +1,9 @@
import React from 'react';
-import { mount } from 'enzyme';
+import { shallow } from 'enzyme';
import Profile from '../../components/Profile';
describe('', () => {
- const profile = mount();
+ const profile = shallow();
test('Profile render', () => {
expect(profile.length).toEqual(1);
From 4e361af1a7ba8dbe0e30b01c12cebacb12a6b78f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Thu, 7 Jul 2022 12:15:28 -0400
Subject: [PATCH 09/12] Update Skills.test.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Modificación de mount por shallow, mencionadas en Discord
---
src/__test__/components/Skills.test.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/__test__/components/Skills.test.js b/src/__test__/components/Skills.test.js
index 4c3d9a53..872b1ca3 100644
--- a/src/__test__/components/Skills.test.js
+++ b/src/__test__/components/Skills.test.js
@@ -1,9 +1,9 @@
import React from 'react';
-import { mount } from 'enzyme';
+import { shallow } from 'enzyme';
import Skills from '../../components/Skills';
describe('', () => {
- const skills = mount();
+ const skills = shallow();
test('Skills render', () => {
expect(skills.length).toEqual(1);
From af103e7f30ab69e08cbf321e1e8989034503d68f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Tue, 12 Jul 2022 12:08:49 -0400
Subject: [PATCH 10/12] Update App.jsx
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Modificaciones realizadas al objeto App.jsx, cómo parte del reto de react-eth-challenge
---
src/containers/App.jsx | 83 +++++++++++++++++++++++++++++++-----------
1 file changed, 62 insertions(+), 21 deletions(-)
diff --git a/src/containers/App.jsx b/src/containers/App.jsx
index 57224430..f5bd89fc 100644
--- a/src/containers/App.jsx
+++ b/src/containers/App.jsx
@@ -1,28 +1,69 @@
-import React from 'react';
+import React, {useEffect, useState} from "react";
import '../styles/components/App.styl';
-import Header from '../components/Header';
-import About from '../components/About';
-import Profile from '../components/Profile';
-import Experience from '../components/Experience';
-import Academic from '../components/Academic';
-import Skills from '../components/Skills';
-import Interest from '../components/Interest';
-import Languages from '../components/Languages';
+import Header from "../components/Header";
+import About from "../components/About";
+import Skills from "../components/Skills";
+import Interest from "../components/Interest";
+import Languages from "../components/Languages";
+import getdata from '../utils/getData'
+
const App = () => {
+ const [user, setUser] = useState(null);
+ useEffect(() => {
+ getuseData ();
+ }, []);
+
+ const getUserData = async () => {
+ const data = await getData(
+ process.env.USER_DATA || 'http://localhost:3000/data');
+ setUser(data);
+ };
+ if (!user) return null;
+
+ const {
+ Academic: academic,
+ address,
+ avatar,
+ email,
+ experience,
+ interest,
+ languages,
+ name,
+ phone,
+ profession,
+ Profile: profile,
+ skills,
+ website,
+ } = user;
+
return (
- <>
-
-
-
-
-
-
-
- >
- )
+
+ );
};
export default App;
From cf88969e69e6f24645d537126e33769dd74e19f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
Date: Wed, 13 Jul 2022 13:28:57 -0400
Subject: [PATCH 11/12] Modificaciones realizadas al reto react-eth-challenge
---
data.json | 238 ++++++++++++++++++++++++------
src/components/About.jsx | 19 +++
src/components/Academic.jsx | 32 ++++
src/components/Avatar.jsx | 16 ++
src/components/Card.jsx | 8 +
src/components/Experience.jsx | 50 +++++++
src/components/Header.jsx | 20 +++
src/components/Interest.jsx | 23 +++
src/components/Languages.jsx | 25 ++++
src/components/Profile.jsx | 28 ++++
src/components/Skills.jsx | 23 +++
src/containers/App.jsx | 83 ++++++++---
src/styles/components/App.styl | 47 +++++-
src/styles/components/Avatar.styl | 4 +
src/styles/components/Card.styl | 7 +
src/styles/components/Header.styl | 23 +++
src/utils/getData.js | 5 +
17 files changed, 583 insertions(+), 68 deletions(-)
create mode 100644 src/components/About.jsx
create mode 100644 src/components/Academic.jsx
create mode 100644 src/components/Avatar.jsx
create mode 100644 src/components/Card.jsx
create mode 100644 src/components/Experience.jsx
create mode 100644 src/components/Header.jsx
create mode 100644 src/components/Interest.jsx
create mode 100644 src/components/Languages.jsx
create mode 100644 src/components/Profile.jsx
create mode 100644 src/components/Skills.jsx
create mode 100644 src/styles/components/Avatar.styl
create mode 100644 src/styles/components/Card.styl
create mode 100644 src/styles/components/Header.styl
diff --git a/data.json b/data.json
index 94dbaad5..e52f9c98 100644
--- a/data.json
+++ b/data.json
@@ -1,88 +1,234 @@
{
"data": {
- "name": "Melissa Walsh",
- "profession": "FrontEnd Developer",
- "address": "Bogotá, Colombia.",
- "email": "melissa@example.com",
+ "name": "Ruben Dario Troche Piñanez",
+ "profession": "Desarrollador Genexus",
+ "address": "Asuncion, Paraguay.",
+ "email": "dtf.ruben.troche@gmail.com",
"website": "https://example.com",
- "phone": "3042034240",
- "avatar": "https://arepa.s3.amazonaws.com/melissa.jpg",
- "Profile": "Ignore the squirrels, you'll never catch them anyway hack, for floof tum, tickle bum, jellybean footies curly toes climb leg roll over and sun my belly, ",
+ "phone": "+595 981356739",
+ "avatar": "http://en.gravatar.com/avatar/ef3ca8ef02de23da584520516503660e?size=200",
+ "Profile": "Desarrollo de aplicaciones para Empresas Comerciales, Industristriales y Financieras. Para diferentes Plataformas OS/400, Linux, Windows, Diferentes Servidores de Aplicaciones JBoss, WebSphere, Tomcat, Generando Aplicaciones en RPG y Java",
"certificate": [
{
- "date": "Jan 2021",
- "description": "Hack up furballs try to jump onto window and fall while scratching at wall. ",
+ "date": "30 Junio 2022",
+ "description": "Fundamentos de Ingeniería de Software",
"institution": "Platzi",
- "name": "FrontEnd Developer"
+ "name": "Fundamentos de Ingeniería de Software"
},
{
- "date": "Jan 2021",
- "description": "Scratch at the door then walk away wack the mini furry mouse",
+ "date": "26 Abril 2022",
+ "description": "Historia de Ethereum y Smart Contracts",
"institution": "Platzi",
- "name": "Backend Developer"
+ "name": "Historia de Ethereum y Smart Contracts"
+ }
+ {
+ "date": "26 Abril 2022",
+ "description": "Historia de los Cypherpunks",
+ "institution": "Platzi",
+ "name": "Historia de los Cypherpunks"
+ }
+ {
+ "date": "13 Abril 2022",
+ "description": "Oratoria y Hablar en Público",
+ "institution": "Platzi",
+ "name": "Oratoria y Hablar en Público"
+ }
+ {
+ "date": "7 Abril 2022",
+ "description": "Optimización del Perfil Profesional",
+ "institution": "Platzi",
+ "name": "Optimización del Perfil Profesional"
+ }
+ {
+ "date": "7 Abril 2022",
+ "description": "Triunfar en Entrevistas de Trabajo",
+ "institution": "Platzi",
+ "name": "Triunfar en Entrevistas de Trabajo"
+ }
+ {
+ "date": "5 Abril 2022",
+ "description": "Cómo Prepararte Profesionalmente para el Futuro",
+ "institution": "Platzi",
+ "name": "Cómo Prepararte Profesionalmente para el Futuro"
+ }
+ {
+ "date": "5 Abril 2022",
+ "description": "Creación de Portafolio y CV",
+ "institution": "Platzi",
+ "name": "Creación de Portafolio y CV"
+ }
+ {
+ "date": "5 Abril 2022",
+ "description": "Conseguir Trabajo en Tecnología",
+ "institution": "Platzi",
+ "name": "Conseguir Trabajo en Tecnología"
+ }
+ {
+ "date": "14 Marzo 2022",
+ "description": "Marca Personal",
+ "institution": "Platzi",
+ "name": "Marca Personal"
+ }
+ {
+ "date": "28 Febrero 2022",
+ "description": "English for Job Interviews Course",
+ "institution": "Platzi",
+ "name": "English for Job Interviews Course"
+ }
+ {
+ "date": "17 Febrero 2022",
+ "description": "Estrategias para Aprender en Línea",
+ "institution": "Platzi",
+ "name": "Estrategias para Aprender en Línea"
+ }
+ {
+ "date": "16 Febrero 2022",
+ "description": "Gestión Efectiva del Tiempo",
+ "institution": "Platzi",
+ "name": "Gestión Efectiva del Tiempo"
}
],
"Academic": [
{
- "degree": "Atomic Master",
- "description": " I’m so hungry i’m so hungry but ew not for that pelt around the house and up and down stairs chasing phantoms",
- "endDate": "Jan 2017",
- "institution": "MIT",
- "startDate": "Jan 2018"
+ "degree": "Técnico Superior en Fútbol",
+ "description": "Asunción-Paraguay",
+ "endDate": "Diciembre 2014",
+ "institution": "Escuela Nacional de Educación Física - ENEF",
+ "startDate": "Enero 2018"
},
{
- "degree": "Space Engineering",
- "description": "Meow in empty rooms. Find empty spot in cupboard and sleep all day check cat door for ambush 10 times before coming in for hack. ",
- "endDate": "Decenber 2015",
- "institution": "Harvard",
- "startDate": "Jan 2017"
+ "degree": "Licenciado en Análisis de Sistemas Informáticos",
+ "description": "Campus Universitario San Lorenzo",
+ "endDate": "Diciembre 2002",
+ "institution": "Facultad Politécnica - U.N.A.",
+ "startDate": "Enero 1994"
+ }
+ {
+ "degree": "Programador de Computadoras",
+ "description": "Campus Universitario San Lorenzo",
+ "endDate": "Diciembre 1993",
+ "institution": "Facultad Politécnica - U.N.A.",
+ "startDate": "Enero 1991"
}
],
"experience": [
{
- "company": "PugStar",
- "endDate": "Present",
- "jobDescription": "scratch the furniture. Good now the other hand, too lay on arms while you're using the keyboard.",
- "jobTitle": "Frontend",
- "startDate": "Jan 2020"
+ "company": "Banco Basa SAECA",
+ "endDate": "Actual",
+ "jobDescription": "Desarrollar Proyectos Regulatorios - Auditoría Forense Informática",
+ "jobTitle": "Desarrollador del Core Bancario.",
+ "startDate": "Enero 2018"
},
{
- "company": "CatStore",
- "endDate": "Jan 2016",
- "jobDescription": "Meow in empty rooms lick left leg for ninety minutes, still dirty.",
- "jobTitle": "Backend",
- "startDate": "Sept 2019"
+ "company": "Banco Amambay S.A.E",
+ "endDate": "Diciembre 2017",
+ "jobDescription": "Desarrollar Nuevas Funcionalidades para el Core Bancario - Optimización de Procesos",
+ "jobTitle": "Desarrollador Genexus",
+ "startDate": "Octubre 2016"
+ }
+ {
+ "company": "Banco Itapua",
+ "endDate": "Octubre 2016",
+ "jobDescription": "Coordinador del Area de Desarrollo",
+ "jobTitle": "Desarrollador Genexus",
+ "startDate": "Mayo 2011"
+ }
+ {
+ "company": "Banco Integracion",
+ "endDate": "Abril 2011",
+ "jobDescription": "Jefe del Area de Desarrollo",
+ "jobTitle": "Desarrollador Genexus",
+ "startDate": "Mayo 2005"
+ }
+ {
+ "company": "Banco Itau",
+ "endDate": "Abril 2005",
+ "jobDescription": "Desarrollo de Nuevas Funcionalidades y Optimización de Procesos Existentes",
+ "jobTitle": "Desarrollador Genexus",
+ "startDate": "Abril 2004"
+ }
+ {
+ "company": "Financiera Atlas",
+ "endDate": "Abril 2004",
+ "jobDescription": "Desarrollo de Nuevas Funcionalidades y Optimización de Procesos Existentes",
+ "jobTitle": "Desarrollador Genexus",
+ "startDate": "Marzo 2002"
+ }
+ {
+ "company": "Horizonte S.R.L.",
+ "endDate": "Marzo 2002",
+ "jobDescription": "Desarrollo de Aplicaciones para el Core Bancario de Paraguay",
+ "jobTitle": "Desarrollador Genexus",
+ "startDate": "Marzo 1999"
+ }
+ {
+ "company": "Gunder I.C.S.A.",
+ "endDate": "Marzo 1999",
+ "jobDescription": "Desarrollo de Aplicaciones Comerciales - Venta de Automoviles Nuevos y Usados - Repuestos - Taller de Chaperia y Pintura",
+ "jobTitle": "Desarrollador Genexus",
+ "startDate": "Enero 1998"
+ }
+ {
+ "company": "Galerias Guarani",
+ "endDate": "Diciembre 1997",
+ "jobDescription": "Desarrollo de Aplicaciones Comerciales",
+ "jobTitle": "Desarrollador Genexus",
+ "startDate": "Enero 1996"
+ }
+ {
+ "company": "Galerias Guarani",
+ "endDate": "Diciembre 1995",
+ "jobDescription": "Desarrollo de Cliente/Servidor en FoxPro",
+ "jobTitle": "Programador de Computadoras",
+ "startDate": "Enero 1994"
}
],
"skills": [
{
- "name": "HTML5",
- "percentage": "75%"
+ "name": "Genexus",
+ "percentage": "85%"
},
{
- "name": "CSS",
- "percentage": "25%"
+ "name": "AS/400",
+ "percentage": "85%"
},
{
- "name": "JavaScript",
- "percentage": "55%"
+ "name": "DBMS Oracle, DB2/400, PostgreSQL",
+ "percentage": "85%"
},
{
- "name": "React",
- "percentage": "90%"
+ "name": "Servidores de Aplicaciones JBoss, WebSphere, Tomcat",
+ "percentage": "60%"
+ }
+ {
+ "name": "RPG",
+ "percentage": "80%"
+ }
+ {
+ "name": "Java",
+ "percentage": "40%"
+ }
+ {
+ "name": "Docker",
+ "percentage": "40%"
}
],
"interest": [
- "javascript",
- "develop",
- "backend",
- "frontend"
+ "Inteligencia Artificial - Machine Learning",
+ "Ciencia de Datos",
+ "Auditoría Forense Informática",
+ "Web 3.0 - Blockchaing - Crypto",
+ "Integracion de Aplicaciones"
],
"languages": [
{
- "name": "Spanish",
+ "name": "Español",
"percentage": "90%"
},
+ {
+ "name": "Guaraní",
+ "percentage": "50%"
+ },
{
"name": "English",
"percentage": "50%"
diff --git a/src/components/About.jsx b/src/components/About.jsx
new file mode 100644
index 00000000..7c2d9d72
--- /dev/null
+++ b/src/components/About.jsx
@@ -0,0 +1,19 @@
+import React from 'react';
+
+const About = ({address,email,phone,profession,website}) => {
+ return (
+
+ Desarrollador Genexus
+
+ - +595 981356739
+ - dtf.ruben.troche@gmail.com
+ - Asunción - Paraguay
+ - {phone}
+ - {email}
+ - {website}
+ - {address}
+
+
+ );
+ };
+export default About;
\ No newline at end of file
diff --git a/src/components/Academic.jsx b/src/components/Academic.jsx
new file mode 100644
index 00000000..ec128071
--- /dev/null
+++ b/src/components/Academic.jsx
@@ -0,0 +1,32 @@
+import React from 'react';
+import Card from './Card';
+
+const Academic = ({
+ academic = Array(3).fill({degree: '', description: '', institution: ''}),
+}) => {
+ return (
+
+ Academic
+
+ //- 2013 - 2014 Técnico Superior en Fútbol; Escuela Nacional de Educación Física - ENEF; Asunción
+ //- 1994 - 2002 Licenciado en Análisis de Sistemas Informáticos; Facultad Politécnica - U.N.A.; Campus Universitario San Lorenzo
+ //- 1991 - 1993 Programador de Computadoras; Facultad Politécnica - U.N.A.; Campus Universitario San Lorenzo
+ //- 1987 - 1989 Bachiller en Ciencias y Letras; Colegio Nacional de la Capital “General Bernardino Caballero”; Asunción
+ {academic.map(({degree, description, institution},index) => (
+ -
+
{degree}
+ {description}
+ {institution}
+
+
+ ))}
+
+
+
+ );
+};
+
+export default Academic;
\ No newline at end of file
diff --git a/src/components/Avatar.jsx b/src/components/Avatar.jsx
new file mode 100644
index 00000000..4af27605
--- /dev/null
+++ b/src/components/Avatar.jsx
@@ -0,0 +1,16 @@
+import React from 'react';
+import '../styles/components/Avatar.styl'
+
+const Avatar = ({avatar}) => {
+ return
;
+ //return (
+ //
+
+ //);
+};
+
+export default Avatar;
\ No newline at end of file
diff --git a/src/components/Card.jsx b/src/components/Card.jsx
new file mode 100644
index 00000000..c1e996b3
--- /dev/null
+++ b/src/components/Card.jsx
@@ -0,0 +1,8 @@
+import React from 'react';
+import '../styles/components/Card.styl';
+
+const Card = ({children}) => {
+ return {children};
+};
+
+export default Card;
\ No newline at end of file
diff --git a/src/components/Experience.jsx b/src/components/Experience.jsx
new file mode 100644
index 00000000..b3292271
--- /dev/null
+++ b/src/components/Experience.jsx
@@ -0,0 +1,50 @@
+import React from 'react';
+import Card from './Card';
+
+const Experience = ({
+experience = Array(10).fill({
+ company: '',
+ EndDate: '',
+ jobDescription: '',
+ JobTitle: '',
+ StartDate: '',
+}),
+}) => {
+ return (
+
+ Experience
+
+
+ );
+};
+
+export default Experience;
\ No newline at end of file
diff --git a/src/components/Header.jsx b/src/components/Header.jsx
new file mode 100644
index 00000000..4e96ecd9
--- /dev/null
+++ b/src/components/Header.jsx
@@ -0,0 +1,20 @@
+import React from 'react';
+import '../styles/components/Header.styl';
+import Avatar from './Avatar';
+import Card from './Card';
+const Header = ({children}) => {
+ return (
+
+
+
+
+ //
Ruben Dario Troche Piñanez
+ {name}
+ {children}
+
+
+
+ );
+};
+
+export default Header;
\ No newline at end of file
diff --git a/src/components/Interest.jsx b/src/components/Interest.jsx
new file mode 100644
index 00000000..854230c0
--- /dev/null
+++ b/src/components/Interest.jsx
@@ -0,0 +1,23 @@
+import React from 'react';
+import Card from './Card';
+const Interest = ({Interest = Array(5).fill('')}) => {
+ return (
+
+ Interest
+
+ //- Inteligencia Artificial - Machine Learning
+ //- Ciencia de Datos
+ //- Auditoría Forense Informática
+ //- Web 3.0 - Blockchaing - Crypto
+ //- Integracion de Aplicaciones
+ {Interest.map((individualinterest, index) => (
+ -
+
{individualinterest}
+
+ ))}
+
+
+ );
+ };
+
+export default Interest;
\ No newline at end of file
diff --git a/src/components/Languages.jsx b/src/components/Languages.jsx
new file mode 100644
index 00000000..1ee1162f
--- /dev/null
+++ b/src/components/Languages.jsx
@@ -0,0 +1,25 @@
+import React from 'react';
+import Card from './Card';
+const Languages = ({
+ languages = Array(3).fill({name: '', percentage: ''}),
+}) => {
+ return (
+
+ Languages
+
+ //- Español
+ //- Guarani
+ //- Inglés
+ {languages.map(({name, percentage},index)=> (
+ -
+
+ {name} - {percentage}
+
+
+ )
+ )}
+
+
+ );
+ };
+export default Languages;
\ No newline at end of file
diff --git a/src/components/Profile.jsx b/src/components/Profile.jsx
new file mode 100644
index 00000000..f8d1285c
--- /dev/null
+++ b/src/components/Profile.jsx
@@ -0,0 +1,28 @@
+import React from 'react';
+import Card from './Card';
+const Profile = ({profile}) => {
+ return (
+
+ Profile
+ //
+ //Amplios conocimientos y experiencias en bases de datos que abarcan tanto los fundamentos teóricos como las tecnologías y
+ //herramientas utilizadas para diseñar e implementar aplicaciones sobre plataformas AS/400, Unix o Windows.
+ //Manejo de Herramientas para la extracción y análisis de datos, formateo de Registros de Diario - Journal de AS/400
+ //Sólida experiencia en el Desarrollo e Implementación de aplicaciones Win, Web y RPG, utilizando los Patterns Work With Plus,
+ //K2B Tools, K2B Audit, Audit Plus y utilizando las Diferentes Versiones de Genexus 8.0, 9.0, Evolution 1, 2 , 3, Genexus 15, Genexus 16
+ //y actualmente trabajando con Genexus 17, utilizando los diferentes gestores de Bases de Datos DB/2 400, Oracle, PostgreSQL,
+ //utilizando los Generadores Java, C#, RPG, publicados en los Web Sever JBOSS, WebSphere, Tomcat sobre diferentes Sistemas Operativos
+ //OS/400, Linux y Windows.
+ //Desarrollo e Implementación de aplicaciones en las siguientes Entidades Financieras - Banco Basa S.A., Banco Amambay S.A.,
+ //Banco ITAPUA SAECA, Vision Banco, Banco Integración S.A., Interbanco S.A., Chinatrust Comercial Bank, Multibanco, Financiera Atlas,
+ //Finanbank.
+ //Desarrollo e Implementación de Aplicaciones en las siguientes entidades Comerciales - Galerías Guaraní y Shopping Vendome, Gunder
+ //IGSA, Casa Dos Pueblos - Pedro Juan Caballero
+ //Desarrollo e Implementación Industrial - Cervecería Internacional
+ //
+ {profile}
+
+ );
+};
+
+export default Profile;
\ No newline at end of file
diff --git a/src/components/Skills.jsx b/src/components/Skills.jsx
new file mode 100644
index 00000000..dea353c7
--- /dev/null
+++ b/src/components/Skills.jsx
@@ -0,0 +1,23 @@
+import React from 'react';
+import Card from './Card';
+const Skills = ({skills = Array(5).fill('')}) => {
+ return (
+
+ Skills
+
+ //- OS/400 - DB2/400 - RPG - CLP - Formateo de Journal
+ //- Genexus - Work With Plus - K2B Tools - K2B Audit - Audit Plus
+ //- DBMS Oracle - PostgreSQL
+ //- Lenguajes de Programación Java, C#
+ //- Servidores de Aplicación JBOSS, WebSphere, Tomcat
+ {skills.map((skill, index) => (
+ -
+
{skill}
+
+ ))}
+
+
+
+ );
+ };
+export default Skills;
\ No newline at end of file
diff --git a/src/containers/App.jsx b/src/containers/App.jsx
index 57224430..f5bd89fc 100644
--- a/src/containers/App.jsx
+++ b/src/containers/App.jsx
@@ -1,28 +1,69 @@
-import React from 'react';
+import React, {useEffect, useState} from "react";
import '../styles/components/App.styl';
-import Header from '../components/Header';
-import About from '../components/About';
-import Profile from '../components/Profile';
-import Experience from '../components/Experience';
-import Academic from '../components/Academic';
-import Skills from '../components/Skills';
-import Interest from '../components/Interest';
-import Languages from '../components/Languages';
+import Header from "../components/Header";
+import About from "../components/About";
+import Skills from "../components/Skills";
+import Interest from "../components/Interest";
+import Languages from "../components/Languages";
+import getdata from '../utils/getData'
+
const App = () => {
+ const [user, setUser] = useState(null);
+ useEffect(() => {
+ getuseData ();
+ }, []);
+
+ const getUserData = async () => {
+ const data = await getData(
+ process.env.USER_DATA || 'http://localhost:3000/data');
+ setUser(data);
+ };
+ if (!user) return null;
+
+ const {
+ Academic: academic,
+ address,
+ avatar,
+ email,
+ experience,
+ interest,
+ languages,
+ name,
+ phone,
+ profession,
+ Profile: profile,
+ skills,
+ website,
+ } = user;
+
return (
- <>
-
-
-
-
-
-
-
- >
- )
+
+ );
};
export default App;
diff --git a/src/styles/components/App.styl b/src/styles/components/App.styl
index 4f92eccb..42585e43 100644
--- a/src/styles/components/App.styl
+++ b/src/styles/components/App.styl
@@ -1,2 +1,47 @@
body
- background-color blue
\ No newline at end of file
+ font-family -apple-systems, BlinkMacSystemFont, 'Segoe UI', 'Roboto, 'Oxygen', 'Ubuntu', Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', san-serif
+ margin 0;
+ -webkit-font-smoothing antialiased
+ -moz-osx-smoothing grayscale
+
+.App
+ background-color #000000
+ color white
+ display flex
+ min-height 100wh
+ position relative
+ overflow hidden
+ @media (min-width: 600px)
+ padding 50px
+ @media (max-width: 600px)
+ padding 10px
+
+.App-container
+z-index 1
+
+.App-round
+ background-color #36d5d3
+ border-radius 50%
+ height 300px
+ position absolute
+ width 300px
+ opacity .9
+
+.App-top-left
+ top -118px
+ left -118px
+
+.App-bottom-right
+ bottom -118px
+ right -118px
+
+article
+ margin-bottom: 24px
+
+@media (min-width: 600px)
+ .App-grid
+ allign-items: center
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 10px;
+ grid-auto-rows: minmax(100px, auto);
\ No newline at end of file
diff --git a/src/styles/components/Avatar.styl b/src/styles/components/Avatar.styl
new file mode 100644
index 00000000..e30d5eec
--- /dev/null
+++ b/src/styles/components/Avatar.styl
@@ -0,0 +1,4 @@
+.Avatar
+ width: 200px
+ border-radius 50%
+ box-shadow 0 2px 8px 2px rgb(0 0 0 / 0.07), 0 2px 4px -1px rgb(0 0 0 / 0.04);
\ No newline at end of file
diff --git a/src/styles/components/Card.styl b/src/styles/components/Card.styl
new file mode 100644
index 00000000..2884e2a3
--- /dev/null
+++ b/src/styles/components/Card.styl
@@ -0,0 +1,7 @@
+.Card
+ background-color #16181A
+ border-radius 14ox
+ box-shadow 0 2px 8px 2px rgb(0 0 0 / 0.07), 0 2px 4px -1px rgb(0 0 0 / 0.04);
+ height -webkit-fill-available
+ padding 12px 16px
+ width -webkit-fill-available;
\ No newline at end of file
diff --git a/src/styles/components/Header.styl b/src/styles/components/Header.styl
new file mode 100644
index 00000000..4534662d
--- /dev/null
+++ b/src/styles/components/Header.styl
@@ -0,0 +1,23 @@
+@media (max-width: 600px)
+ .Header
+ allign-items: center
+ display: flex
+ flex-direction: column
+
+ & img
+ margin-bottom: 16px
+
+@media (min-width: 600px)
+ .Header
+ allign-items: center
+ display: gird;
+ grid-template-columns: repeat(4, 1fr);
+ gap: 10px;
+ grid-auto-rows: ninmax(100px, auto);
+
+
+ & img
+ grid-column: 1 / 2;
+
+ & article
+ grid-column: 2 / end;
diff --git a/src/utils/getData.js b/src/utils/getData.js
index e69de29b..16462ab3 100644
--- a/src/utils/getData.js
+++ b/src/utils/getData.js
@@ -0,0 +1,5 @@
+const getData = (url) => {
+ if (!url) return 'Url no ingresada';
+ return fetch(url).then((res) = res.json());
+};
+export default getData;
\ No newline at end of file
From deb94ed6ed6cd34302a40a43dd0b01b4d4e9ca7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ruben=20Dario=20Troche=20Pi=C3=B1anez?=
<107197505+tatita2021@users.noreply.github.com>
Date: Wed, 13 Jul 2022 14:54:28 -0400
Subject: [PATCH 12/12] Update Avatar.jsx
Se modifica el avatar, estableciendo la imagen del Profile
---
src/components/Avatar.jsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/Avatar.jsx b/src/components/Avatar.jsx
index 4af27605..2d55dab9 100644
--- a/src/components/Avatar.jsx
+++ b/src/components/Avatar.jsx
@@ -2,7 +2,7 @@ import React from 'react';
import '../styles/components/Avatar.styl'
const Avatar = ({avatar}) => {
- return
;
+ return
;
//return (
//
{
//);
};
-export default Avatar;
\ No newline at end of file
+export default Avatar;