Because all client and Node.js logic is encapsulated in a single Electron app, Keypunch can run on corporate laptops behind the firewall. Because it uses
mainframe-job to abstract away the details of interfacing with the mainframe's Job Entry Subsystem, Keypunch supports the long-tail of back-leveled z/OS systems. The goal is to help your developers learn to develop without a SysGen or other major impacts to your core business apps.
While this is a work in progress focused on delivering an initial MVP, this app offers a foundational platform that may be eventually enhanced to provide features such as:
- lessons for PL/1, COBOL, REXX, FORTRAN, HLASM, etc. that run entirely on the client app by parsing the JES output.
- enhancement to support z/VSE
- Use of socket.io to provide remote pair-programming for two corporate employees over the intranet.
- Gamification and Badges to encourage learning without compromising core business data.
- Note: requires a node version >= 6 and an npm version >= 3.
- If you have installation or compilation issues with this project, please see the Electron React Boilerplate debugging guide
First, clone the repo via git:
git clone https://github.com/spmcbride1201/keypunch-electron.git your-project-name
And then install dependencies.
$ cd your-project-name && npm install
npm run cleanup. After this is run, the initial sample boilerplate code will be removed in order for a clean project for starting custom dev
Run these two commands simultaneously in different console tabs.
$ npm run hot-server $ npm run start-hot
or run two servers with one command
$ npm run dev
To package apps for the local platform:
$ npm run package
To package apps for all platforms:
First, refer to Multi Platform Build for dependencies.
$ npm run package-all
To package apps with options:
$ npm run package -- --[option]
To run the application without packaging run
$ npm run build $ npm start
To run End-to-End Test
$ npm run build $ npm run test-e2e
Build with love using
- React Desktop
- Electron React Boilerplate
- React Router
- React Transform HMR
- React Developer Tools
- Redux DevTools
MIT © Sean McBride