MaveRegistry is a collaborative resource to catalyze collaboration, reduce redundant efforts, allow stakeholders to nominate targets, and enable tracking and sharing of progress on ongoing MAVE projects.
This repository contains the development environment of the frontend service of MaveRegistry (the Service).
The development environment requires Node.js. We recommend using Node.js version 14, which can be downloaded from here.
To run the Service, download the source code from this repo and install dependencies:
# Check out source code
git checkout [email protected]:kvnkuang/maveregistry-front-end.git
cd maveregistry-front-end
# Install dependencies
npm install
During development, the Service maintains a development server using Vue CLI to provide a "hot-reload" feature where when changes are made, the affected web pages are updated automatically.
Do not deploy the development server for production as it is not optimized and may cause degraded performance.
Start the development server:
npm run serve
The Service uses Webpack to create an optimized code bundle for running in a production environment.
npm run build
The Service uses ESLint to check and fix syntax errors and violations of Vue.js Style Guide.
npm run lint
To ensure quality and accountability of code contribution, ths Service uses a continuous integration and automatic deployment pipeline:
- Push code to development branches
- Merge code into the production branch
- Submit a Pull Request for deployment
Code can be pushed to any development branches as you wish. For example, main
is the current active development branch at the time of writing this manual. However, you will not be able to push code directly to the production branch (prod
).
In short, you will not be able to add code directly to the prod
branch. Instead, you will have to push code to a development branch and merge code into the prod
branch with a pull request.
This design minimizes human errors, such as those ones that contaminate the production codebase with debugging and/or incomplete code. Since the prod
branch hosts code running in a production environment, we want to maintain a high code quality standard in this particular branch.
Once you are happy with your code in a development branch, you can inititate a pull request. Please take a look at previous pull requests and understand how they are normally formatted.
Moderators of this repository can choose to accept or decline the pull request. Once accepted, code changes will be merged into the prod
branch.
The Service uses GitHub Actions to monitor accepted pull requests and automaically deploy them to the production server.
Please feel free to contact me if you still have questions.
This manual was last updated on 2020-11-30.