Desktop app to quickstart NodeJS + ExpressJS + MongoDB application development (all code written in TypeScript 3.x)
wilbur allows you to quickly and easily define an application and its associated typescript classes and in return you get a fully featured NodeJS application server in just seconds.
By simply defining a class (class name, its member variables and their types & constraints, etc) you are provided with the code for a TypeScript class with strong field validation which by default interfaces with MongoDB, a MongoDB service, request controllers/validators/routers, and Swagger documentation. You get all of these features from writing absolutely zero code.
I've written an extensive guide on how to get started using wilbur from scratch here. Check it out for a step by step guide on generating an example application.
(note: if on Mac you get an error that says "wilbur can't be opened because it is from an unidentified developer", just navigate to System Preferences->Security & Privacy and you should see a message that says that "wilbur was blocked from opening because it is not from an identified developer" click the button next to that click the button labeled "Open anyways")
When you generate an app with wilbur you will enjoy a fully features api server without having to write a single line of code Features include:
- NodeJS + ExpressJS API server written entirely in TypeScript 3.x generated in just seconds
- Built-in MongoDB functionality (uses TypeGoose to create Mongoose models from typescript classes)
- Strong request validation using express-validator and class-validator
- Pretty logging with Pino logger
- Interactive Swagger documentation
- Production building with backpack
- Built-in Mocha testing framework
- Beautiful automated HTML testing reports with mochawesome
- Extensive code coverage reports with istanbul
- Ability to continuously add, update, and remove classes from your app after generation
-
- Reap all the benefits of writing in typescript in the main electron process that interfaces with the yeoman environment
- Eliminates need for previous dependencies such as babel-plugin-transform-es2015-modules-commonjs, babel-preset-es2015, babel-preset-react, babel-preset-stage-0, babel-register, and more.
-
- Using angular-electron developing and building an electron desktop app has never been easier
- Leverages ngrx for easy state control using rxjs observables
- NodeJS and NPM installed (also works with Yarn)
- Yeoman
- wilbur-generator
- MongoDB (required to run generated app, not required for generator)
First, install the wilbur yeoman generator
$ npm i generator-wilbur -g
Next, download and run the executable
Thats it. You're ready to start generating rich NodeJS+ExpressJS apps in seconds without writing a single line of code.
If you want to run the desktop application without directly downloading the executables, you can clone this project and run the project yourself.
$ git clone https://github.com/alexbatis/wilbur-app
$ cd wilbur-app
$ npm install
$ npm start
If you'd like to build an executable from the project, just run the following:
$ npm run electron:<platform>:dev
where platform is windows or mac based on your os.
If you want to use this as a boilerplate to start your own angular project that interacts with the yeoman environment, check out the sections below on installation and development.
If you're interested in contributing, please reach out. This app is still in its infancy, but if there is the demand I'd be willing to allocate more time to it. All contributions and feedback are welcomed.
MIT © Alex Batis