___ ___ ___ ___ ___
/\__\ /\ \ /\__\ /\__\ /\ \
/:/ / /::\ \ /:/ / /:/ / /::\ \
/:/__/ /:/\:\ \ /:/ / /:/ / /:/\:\ \
/::\ \ ___ /::\~\:\ \ /:/ / /:/ / /:/ \:\ \
/:/\:\ /\__\ /:/\:\ \:\__\ /:/__/ /:/__/ /:/__/ \:\__\
\/__\:\/:/ / \:\~\:\ \/__/ \:\ \ \:\ \ \:\ \ /:/ /
\::/ / \:\ \:\__\ \:\ \ \:\ \ \:\ /:/ /
/:/ / \:\ \/__/ \:\ \ \:\ \ \:\/:/ /
/:/ / \:\__\ \:\__\ \:\__\ \::/ /
\/__/ \/__/ \/__/ \/__/ \/__/
(() => {
class Person {
constructor() {
this.username = 'german-rs';
this.name = 'Germán Riveros';
this.contact = 'https://germanriveros.cl/#contact';
this.web = 'https://germanriveros.cl';
this.teachingWeb = 'https://profegerman.cl';
this.linkedin = 'https://www.linkedin.com/in/german-rs/';
this.freeCodeCamp = 'https://www.freecodecamp.org/german-rs';
this.technologies = {
languages: ['JavaScript', 'TypeScript', 'PHP', 'Python'],
frontend: ['Vue.js', 'React', 'Astro', 'Gutenberg', 'Sass'],
mobile: ['Flutter'],
backend: ['Node.js'],
database: ['PostgreSQL', 'MySQL', 'SQLite3'],
cms: ['WordPress'],
ecommerce: ['Magento'],
design: ['Inkscape', 'Figma'],
tools: ['Git', 'GitHub'],
llms: ['Claude', 'chatGPT', 'Kimi AI']
};
}
toString() {
return `${this.name} | ${this.contact}`;
}
showStack() {
console.table(this.technologies);
}
}
const me = new Person();
console.log(me.toString());
me.showStack();
})(); 
