Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/madlabsinc/mevn-cli

Light speed setup for MEVN(Mongo Express Vue Node) Apps
https://github.com/madlabsinc/mevn-cli

babel-es6 babel-preset babel7 cli eslint express gssoc19 hacktoberfest javascript mevn mongodb mongoose nodejs npm-package prettier vue vuejs

Last synced: about 1 month ago
JSON representation

Light speed setup for MEVN(Mongo Express Vue Node) Apps

Lists

README

        



Light speed setup for MEVN stack based web-apps


Build Status
npm version
Downloads

PRs Welcome
code style: prettier
Mentioned in Awesome-Vue
Mentioned in Awesome-VuePress


Follow on Twitter


Buy Me a Coffee

---

**Chat: _[Telegram](https://t.me/mevn_cli)_**

**Donate: [PayPal](https://www.paypal.me/jamesgeorge007), _[Open Collective](https://www.opencollective.com/mevn-cli), [Patreon](https://www.patreon.com/jamesgeorge007)_**

A CLI tool for getting started with the MEVN stack. The acronym “MEVN” stands for “MongoDB Express.js VueJS Node.js”. It offers a super-simple boilerplate template and additional utilities for building a MEVN stack-based webapp. It takes away the hassle of setting up the local development environment which may become a nightmare especially for beginners who are just starting.

## Installation

### Prerequisites

- [**npm**](https://www.npmjs.com/) is a package manager for the JavaScript programming language.
- [**node.js**](https://nodejs.org/en/) is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.
- [**git**](https://git-scm.com/) is a version control system for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source code management in software development.

## Quickstart

``` bash
npm install -g mevn-cli
mevn init
```

### Available Commands

`MEVN-CLI` offers the following set of commands:-

| command | description |
| -------------- | ---------------- |
| mevn init <appname> | Scaffolds a MEVN stack project in the current path |
| mevn serve | Serves the client/server side template locally |
| mevn add [deps] [--dev] | Adds additional dependencies as required on the go |
| mevn generate | Generates component files for the client and CRUD boilerplate template for the server based on MVC architecture |
| mevn codesplit | Lazy load components as required |
| mevn dockerize | Serves the webapp as multi-container Docker applications |
| mevn deploy | Deploys the webapp to a cloud service of choice |
| mevn info | Prints debugging information about the local environment |

## Features

- It allows Developers to build webapps with ease in which all the local environment setup is being taken care of. All they have to do is to focus on writing actual code.
- The whole project is done in modules(thanks to ES6 syntax) which enhances user readability and leads to compact code.
- MEVN-CLI simplifies developer workflow by generating the required boilerplate and automating redundant tasks.

## Contributing

Before contributing a change to this repository, please first discuss the change you wish to make via issue, or any other method with the owners of this repository . Take a look at the [Contributing Guidelines](https://github.com/madlabsinc/mevn-cli/wiki/Contributing-Guidelines) to get a better picture regarding the codebase and project structure.

### How do I contribute?
1. Ensure you have no "dummy" files left, if you do then add them to the bottom of `.gitignore`.
2. Fork and clone our repository.
3. Make your life-changing changes.
4. Run `npm run build` which generates a `lib` directory with the transpiled `es5` code.
5. Type in `npm link` to test everything works fine. (Now you've access to the `mevn` root-command.)
6. Run tests locally before commiting with `npm test`. (If you're having issues running tests locally, then you can commit and use GitHub actions ci in your own fork. All tests should pass.)
7. Commit and push your changes.
8. Make a detailed pull request.

> `npm link` creates a symlink in the global folder making the `mevn` command globally available within your local development environment

### Why should I contribute?
Contributing helps people and simply makes the world a better place, Without contributors this project would cease to exist.

### How should I write a commit message?
This project uses [Commitlint](https://github.com/conventional-changelog/commitlint/#what-is-commitlint) to check if the commit messages meet the [conventional commit format](https://www.conventionalcommits.org/en/v1.0.0/).
The full pattern is:
```sh
type(scope?): subject #scope is optional

body? #body is optional

footer? #footer is optional
```

Following that pattern, your commit messages should look like these:
```sh
feat: activate open collective
```

```sh
chore: correct typo

It should be "guest" and not "gest"
```

```sh
refactor(cli): drop support for node 6

BREAKING CHANGE: you will need to update your node version to keep using this CLI
This closes #123
```

### What if I cannot code or do not like it?
You can always write documentation, most repositories lack in it.

### What is next?
Nothing! You're done and ready to get coding!

## Versioning And Help

| option | description
| --- | --- |
| -V, --version | Check CLI version |
| -h, --help | Get help and check usage |

## Contributors

### Code Contributors

This project exists thanks to all the people who contribute. [[Contribute](https://github.com/madlabsinc/mevn-cli/wiki/Contributing-Guidelines)].

### Financial Contributors

Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/mevn-cli/contribute)]

#### Individuals

#### Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/mevn-cli/contribute)]










## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.