Node.js

../public/snippets/node.ts

Node.js is a JavaScript runtime built on Chrome's V8 engine, used for building scalable server-side applications.

With over three years of experience in Node.js, I have a deep understanding of asynchronous programming and event-driven architecture.

I have used Node.js to build APIs, real-time applications, and microservices, focusing on performance and scalability.

[Express][NestJS][MongoDB][Socket.IO]
// @ts-nocheck
import * as path from 'path';

interface PortfolioData {
  name: string;
  role: string;
  experience: number;
  technologies: string[];
}

class Portfolio {
  private data: PortfolioData;

  constructor(data: PortfolioData) {
    this.data = data;
  }

  private getIntroduction(): string {
    const { name, role, experience } = this.data;
    return `Name: ${name}\nRole: ${role}\nExperience: ${experience} year${
      experience > 1 ? 's' : ''
    }`;
  }

  private getTechnologiesList(): string {
    return this.data.technologies.map((tech, index) => `${index + 1}. ${tech}`).join('\n');
  }

  private getFilePathExample(): string {
    return `Example File Path: ${path.resolve('.')}`;
  }

  public displayPortfolio(): string {
    return [
      '=== About Me ===',
      this.getIntroduction(),
      '\nTechnologies I Use:',
      this.getTechnologiesList(),
      '\nFile Path Example:',
      this.getFilePathExample(),
      '\nThank you for reviewing my profile!',
    ].join('\n');
  }
}

const myPortfolioData: PortfolioData = {
  name: 'Ernesto Alonso',
  role: 'Software Engineer',
  experience: 3,
  technologies: ['Node.js', 'Path', 'Nodemon', 'Express', 'REST APIs', 'TypeScript'],
};

const myPortfolio = new Portfolio(myPortfolioData);

if (require.main === module) {
  process.stdout.write(myPortfolio.displayPortfolio());
}