Code Monkey home page Code Monkey logo
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();
    }
})();

Marc Mintel's Projects

chrome-bybit-extension icon chrome-bybit-extension

A chrome extension to help with position sizing according to risk and reward. Takes your balance, stoploss, margin and risk, returns a the right leverage.

datocms-tools icon datocms-tools

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

ddd-forum icon ddd-forum

Hacker news-inspired forum app built with TypeScript & DDD from solidbook.io.

docz icon docz

✍ It has never been so easy to document your things!

fela icon fela

State-Driven Styling in JavaScript

gatsby-starter-portfolio-jodie icon gatsby-starter-portfolio-jodie

Image-heavy photography portfolio with colorful accents & customizable pages. Includes adaptive image grids powered by CSS grid and automatic image integration into projects.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.