# waricoma's TypeScript project templete It's for the generic template for projects I often take. + [https://expressjs.com/](https://expressjs.com/) + [https://www.electronjs.org/](https://www.electronjs.org/) + [https://api.slack.com/tools/bolt](https://api.slack.com/tools/bolt) + [https://github.com/line/line-bot-sdk-nodejs](https://github.com/line/line-bot-sdk-nodejs) + [https://crisboarna.github.io/fb-messenger-bot-api/](https://crisboarna.github.io/fb-messenger-bot-api/) ```mermaid classDiagram class ElectronApp { /src/electron/index.ts -BrowserWindow mainWindow -App app -string mainURL -void constructor(app: App) -void onWindowAllClosed() -void create() -void onActivated() -void setUpMenu() -void restoreWinState() +void updateMainURL(mainURL: string) +void loadMainURL() } class SlackBoltApp { from "@slack/bolt" } class LineBotSdk { from "@line/bot-sdk" } class FbMessengerBotApi { from "fb-messenger-bot-api" } class ExpressApp { /src/express/app.ts ( It's imported by /src/express/index.ts ) -express.Application app -void constructor(app: express.Application) -void plugins -void views -void controllers +App slackBolt(token: string, signingSecret: string) +Client lineSdk(channelAccessToken: string, channelSecret: string) +FacebookMessagingAPIClient fbMsg(pageAccessToken: string) +listen(port: number, host: string, cb) } class Router { /src/express/_controller/_router/index.ts } class WebRouter { /src/express/_controller/_router/_web/index.ts } class SlackRouter { /src/express/_controller/_router/_slack/index.ts } class LineRouter { /src/express/_controller/_router/_line/index.ts } class FbRouter { /src/express/_controller/_router/_fb/index.ts } class Controller { /src/express/_controller/index.ts } class WebController { /src/express/_controller/_web/index.ts } class SlackController { /src/express/_controller/_slack/index.ts } class LineController { /src/express/_controller/_line/index.ts } class FbController { /src/express/_controller/_fb/index.ts } class Model { /src/express/_model/index.ts } class View { /src/express/_views/index.ts } class SampleWebController { /src/express/_controller/_web/Sample.ts } class SampleSlackController { /src/express/_controller/_slack/Sample.ts } class SampleLineController { /src/express/_controller/_line/Sample.ts } class SampleFbController { /src/express/_controller/_fb/Sample.ts } class SampleModel { /src/express/_model/Sample.ts } ElectronApp <|-- ExpressApp : imported ExpressApp <|-- SlackBoltApp : imported ExpressApp <|-- LineBotSdk : imported ExpressApp <|-- FbMessengerBotApi : imported SampleModel <|-- Model : imported WebRouter <|-- Router : imported SlackRouter <|-- Router : imported LineRouter <|-- Router : imported FbRouter <|-- Router : imported WebController <|-- Controller : imported SlackController <|-- Controller : imported LineController <|-- Controller : imported FbController <|-- Controller : imported WebController <|-- View : imported WebRouter <|-- SampleWebController : imported SlackRouter <|-- SampleSlackController : imported LineRouter <|-- SampleLineController : imported FbRouter <|-- SampleFbController : imported SampleWebController <|-- WebController : imported SampleSlackController <|-- SlackController : imported SampleLineController <|-- LineController : imported SampleFbController <|-- FbController : imported SampleWebController <|-- SampleModel : imported SampleSlackController <|-- SampleModel : imported SampleLineController <|-- SampleModel : imported SampleFbController <|-- SampleModel : imported ExpressApp <|-- WebRouter : imported ExpressApp <|-- SlackRouter : imported ExpressApp <|-- LineRouter : imported ExpressApp <|-- FbRouter : imported ```