Skip to content
View mmintel's full-sized avatar
๐Ÿ‘‹
Looking for awesome opportunities
๐Ÿ‘‹
Looking for awesome opportunities

Block or report mmintel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
mmintel/README.md
import {
  Human,
  Coffee,
  Cappuccino,
  Language,
  Typescript,
  React,
  Vue,
  NestJS,
  Jest,
} from '@mmintel/awesome';

interface Developer extends Human {
  test: () => void;
  code: () => void;
  addFramework: () => void;
}

class Marc implements Developer {
  private frameworks: Framework[];
  
  constructor(
    private language: Language,
    private coffee: Coffee,
  ) {}
  
  public sayHello(): void {
    console.log(`
      Hi there ๐Ÿ‘‹,
      
      I'm Marc, a Software Developer from Cologne, Germany.
      I love Typescript on client side, with NodeJS or Deno.
      I have a lot of experience with frontend frameworks like React or Vue.
      On the server side I prefer to work with Nestjs.
      I also like C# with Unity a lot but that's just for fun.
      
      I'm always interested to work on awesome projects, in that case you should contact me.
      
      Cheers
    `);
  }
  
  public addFramework(framework: Framework): void {
    this.frameworks.push(framework);
  }
  
  public async code(): void {
    await this.coffee.drink();
    
    for (const framework of this.frameworks) {
      await this.language.use(framework);
    }
    
    await this.coffee.drink();
    this.language.writeSomeCode();
  }
  
  public async test(): void {
    const jest = this.frameworks.find(f => f instanceOf Jest);
    jest.run();
  }
  
  public dance(): void {
    // do nothing
  }
}

const language: Language = new Typescript();
const coffe: Coffee = new Cappuccino();

const marc = new Marc(language, coffee);

marc.addFramework(React);
marc.addFramework(Vue);
marc.addFramework(NestJS);
marc.addFramework(Jest);

(async () => {
    marc.sayHello();
    try {
      await marc.code();
    } catch {
      await marc.test();
    }
})();

Popular repositories Loading

  1. datocms-tools datocms-tools Public archive

    Provides tools to import, export or reset DatoCMS projects. Will also make sure to update existing models.

    JavaScript 10 5

  2. tinacms-fields tinacms-fields Public

    Third-party fields for TinaCMS

    JavaScript 8 2

  3. gatsby-plugin-fela gatsby-plugin-fela Public

    JavaScript 7 3

  4. statamic-asset-manifest statamic-asset-manifest Public

    Addon for Statamic: searches occurences of files and replaces them as listed in the manifest

    PHP 3

  5. vanilla-js-module-starter vanilla-js-module-starter Public

    Provides minimal setup to create node modules with Javascript without any framework

    JavaScript 1

  6. WolfBot WolfBot Public

    Forked from Ekliptor/WolfBot

    Crypto currency trading bot written in TypeScript for NodeJS

    TypeScript 1