Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/lotrekagency/mapo

πŸ₯­ Our Nuxt module to simplify the making of administration panels, and authenticated web applications.
https://github.com/lotrekagency/mapo

admin-dashboard admin-panel administration-interface nuxt nuxt-module nuxtjs vue vuejs

Last synced: about 12 hours ago
JSON representation

πŸ₯­ Our Nuxt module to simplify the making of administration panels, and authenticated web applications.

Awesome Lists containing this project

README

        

# mapomodule [![npm](https://img.shields.io/npm/v/mapomodule?style=flat-square)](https://www.npmjs.com/package/mapomodule) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/lotrekagency/mapo/Test%20and%20Coverage?label=e2e-tests&style=flat-square) [![GitHub](https://img.shields.io/badge/license-MIT-green?style=flat-square)](./LICENSE.md)

## Setup
Add `mapomodule` dependency to your project
```sh
yarn add --dev mapomodule # or npm install --save-dev mapomodule
```
Add mapomodule to the modules section of nuxt.config.js
```js
{
modules: [
// Simple usage
'mapomodule',

// With options
['mapomodule', { /* module options */ }]
]
}
```

You can add options also from top level nuxt.config.js

```js
{
modules: [
'mapomodule'
],
mapo: {
/* module options */
}
}
```
## Integrations
This module was created to simplify the creation of administration panels.

Mapo was born as a frontend companion of the Camomilla project, but it was created with the aim of being agnostic about the backend. This is why we have enclosed the logic linked to the Camomilla project (camomilla-integrations) in a compatibility layer.

If you want to try the project with Camomilla as a backend, just follow the instructions you will find here. Otherwise you can write your backend with the framework and language you prefer. You can also write new integrations to connect Mapo to other existing api backends.

## Features

- Exposes [`$mapo`](https://lotrekagency.github.io/mapo/core/) core sevices to provide set of utilities.
- Injects mapo [`components`](https://lotrekagency.github.io/mapo/components/) in the default nuxt component discovery.
- Adds meta information to router module from nuxt pages.

πŸ“‘ Β Read more from the [documentation](https://lotrekagency.github.io/mapo/).

## How to contribute

1. Clone this repository
2. Install dependencies using `yarn bootstrap`
3. Start development server using `yarn dev`

Feel free to contribute to the project by making a [Pull Request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request).

Here's an example for a branch naming:

`feature/`

Once you're done with your work and are ready to make a Pull Request, set the reviewers to
Gabriele Baldi (bnznamco) and Andrea Morosi (andreamorosi).

### Documenting components
Always write some documentation regarding the components you're developing.
Our documentation is generated directly from code thanks to [@Vuepress](https://vuepress.vuejs.org/), [@Vuese](https://vuese.org/) and [@jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown#readme).

1. Generate doc `yarn doc:gen`
2. Preview vuepress doc `yarn doc:dev`

### Testing

The project comes with a pre-installed cypress suite. The number of e2e/unit tests present for now is low. So we invite contributors to write tests as well as new features.