Code Monkey home page Code Monkey logo

mevn-cli's Introduction

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

Donate: PayPal, Open Collective, Patreon

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 out.

Installation

Prerequisites

  • npm is a package manager for the JavaScript programming language.
  • node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.
  • git 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

npm install -g mevn-cli
mevn init <appname>

Available Commands

MEVN-CLI offers the following set of commands:-

command description
mevn init Bootstraps a MEVN stack based boilerplate template of choice
mevn serve Serves the client/server side template locally
mevn add Adds additional plugins as required on the go
mevn generate Generates component, model, route, controller, and DB config files
mevn codesplit Lazy load components as required
mevn dockerize Serves the client and server in separate docker containers
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.
  • It uses ES6 syntax, which is developer-friendly and keeps the code simpler and smaller.
  • 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 boilerplate code as required 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 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. Fire in sudo npm link to test everything works fine.
  6. Commit and push your changes.
  7. 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 to check if the commit messages meet the conventional commit format. The full pattern is:

type(scope?): subject #scope is optional

body? #body is optional

footer? #footer is optional

Following that pattern, your commit messages should look like these:

feat: activate open collective
chore: correct typo

It should be "guest" and not "gest"
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].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

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

mevn-cli's People

Contributors

jamesgeorge007 avatar alan755 avatar ajomadlabs avatar konsvasi avatar aquibbaig avatar jamesjose03 avatar dependabot[bot] avatar dependabot-preview[bot] avatar nathfreder avatar kamerk22 avatar scriptonist avatar anto-christo avatar arrlanxcidic avatar dependabot-support avatar agarwalrounak avatar darrylpargeter avatar alanlal avatar amitsin6h avatar ananthuanil13 avatar aromalanil avatar athul avatar christophermoura avatar klauskpm avatar ritwik12 avatar thakurkarthik avatar monkeywithacupcake avatar

Watchers

James Cloos avatar  avatar

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.