Skip to content

Contributing Guidelines

James George edited this page Feb 6, 2019 · 11 revisions

First of all, Thank you for showing interest in Mevn-CLI. This page walks you through all the necessary local development setup required if you are contributing to the codebase as well as the Docs.

Local Development setup

The very first step to carry out is to have the repository cloned to your local machine.

  • Fork and clone the mevn-cli repository.
  • Open up your terminal and navigate to the mevn-cli repo directory.
  • Set up the upstream repository as git remote add upstream https://github.com/madlabsinc/mevn-cli.
  • We follow a rebase strategy to update your local branch with the latest changes that took place in the upstream repository.
  • Fire in npm link which creates a symlink by which you can access mevn globally from the terminal.
  • Now you can start working on your favourite feature 👏

Contributing helps people and makes the world simply a better place, without contributors this project would cease to exist.

The Codebase

Mevn-CLI is written in JavaScript (Node.js) following the Es6 semantics. It requires you to have familiarity with the language constructs as well as the Ecmascript standards like arrow functions. We use commander.js as the argument parser. You can find an index.js file within the bin directory relative to the root repository where configuration for the entire tool resides. Just spend some time familiarising yourself with this file as it would give you an idea about the entire project hierarchy where all action handlers are brought about and invoked.

The tool creates a mevn.json file at the root path where the new project is bootstrapped which holds the <project-name> as provided by the user.

Mevn-CLI offers dedicated commands to deal with both the client and server side parts. When it comes to the Front End part Developers have the provision to create new components with ease or add his favourite dependency on the go without leaving the terminal. All he has to do is fire in the respective command, sit back and relax while the dependencies get installed if that's the case. If you have worked on Vue.js before you may remember the pain that you faced while adding vuetify to your existing project or providing support state management with vuex store.

For the server side part, Mevn-CLI provides out of the box support for the MVC (Model-View-Controlller) architecture where in which one can create model, controller and DB configuration files with ease. The user will be presented with all the 4 basic CRUD operations on top of which he can build upon. Deploy your web-apps to Heroku platforms with ease within your Docker containers.

Clone this wiki locally