npm package: @opengis/v3-crm
Description: ![V3-CRM](http://git.softpro.ua:443/vue/v3-crm/-/raw/dev/src/assets/images/v3crm.png)
Latest version: 0.0.70

![V3-CRM](http://git.softpro.ua:443/vue/v3-crm/-/raw/dev/src/assets/images/v3crm.png)

# V3-CRM

Discover a powerful CRM solution tailored to streamline your data management and analysis. Our V3-CRM combines robust table formatting, insightful diagrams, dynamic dashboards, and advanced features like data sorting, filtering, editing, and export. Visualize your data on maps, leave comments, attach files, and track editing history seamlessly. Experience efficiency and clarity in managing your business relationships and operations.
Now check the instructions how you can apply it in your project!

## Features

The main features of V3-crm:

- Table Formatted Data: Organize and manage extensive data sets efficiently
- Diagrams and Dashboards: Visualize insights with intuitive diagrams and dynamic dashboards
- Sorting and Filtering: Quickly find and analyze relevant information
- Editing and Export: Edit table data directly and export seamlessly
- Map Integration: View table objects geographically on integrated maps
- Comments: Collaborate and leave comments on specific data entries
- File Attachments: Easily attach relevant files to enhance data context
- Editing History: Track changes and review editing history for transparency and accountability
- ... and many more

## Install

For use V3-CRM in your project you should install them.

```bash
npm install @opengis/v3-crm
```

Also, you can install it via CDN for quick integration into your web applications.

```js
 ##add cdn link
```

### Usage

#### Env.local

```bash
VITE_PREFIX=/api
```

#### Setup in the app

```js
/* main.ts */

import App from './App.vue'
import v3crm from '@opengis/v3-crm'
import '@opengis/v3-crm/dist/style.css'

// Configs
import routesConfig from '../routes.config'
import adminConfig from '../admin.config'

const app = createApp(App)
app.use(v3crm.v3Crm, { routesConfig, adminConfig })

app.mount('#app')
```

#### The example how to add in the Vue template

```vue
<!-- App.vue -->

<template>
  <div>
    <V3Crm />
  </div>
</template>

<script lang="ts">
export default {}
</script>

<style lang="scss" scoped></style>
```

#### The example for `routesConfig`

The example how to create routes in the admin panel

```js
/* routes.config.js */

export default [
  {
    path: '/',
    name: 'home',
    icon: 'ti-home',
    component: () => import('@/pages/vs-home-page.vue')
  },
  {
    path: '/help',
    name: 'help',
    label: 'Допомога',
    icon: 'ti-help',
    component: () => import('@/pages/vs-help-page.vue')
  },
  {
    path: '/profile',
    name: 'profile',
    label: 'Profile',
    icon: 'ti-user-circle',
    component: () => import('@/pages/vs-profile-page.vue')
  },
  {
    type: 'collapse',
    label: 'Благоустрій',
    icon: 'ti-table',
    data: [
      {
        path: '/green_space.table',
        name: 'green_space',
        props: {
          table: 'green_space.table'
        },
        component: 'table-page',
        label: 'Зелені насадження',
        children: [
          {
            path: ':id',
            component: 'default-card'
          }
        ]
      },
      {
        path: '/street_furniture.table',
        name: 'street_furniture',
        component: 'table-page',
        props: {
          table: 'street_furniture.table'
        },
        label: 'Елементи благоустрою',
        children: [
          {
            path: ':id',
            component: 'default-card'
          }
        ]
      }
    ]
  }
]
```

#### The example for `adminConfig`

```js
/* admin.config.js */

const prefix = import.meta.env.MODE === 'development' ? '/api' : ''

export default { server: { prefix } }
```

## Documentation

For a detailed understanding of V3-CRM its features, and how to use them, refer to our
[project documentation](https://apidocs.softpro.ua/v3-crm/) and [API documentation](https://apidocs.softpro.ua/opengis/api/).

## Examples

- Analytics Dashboard: Gain insights through intuitive visualizations.
  ![Інтерфейс](http://git.softpro.ua:443/vue/v3-crm/-/raw/dev/src/assets/images/analitics.png)
- Table with Formatted Data: Efficiently manage and organize structured information.
  ![Інтерфейс](http://git.softpro.ua:443/vue/v3-crm/-/raw/dev/src/assets/images/table.png)
- Filters: Easily refine data to focus on what matters most.
  ![Інтерфейс](http://git.softpro.ua:443/vue/v3-crm/-/raw/dev/src/assets/images/filters.png)
- Widgets for History, Images, Comments, and Files: Enhance data context with detailed history logs, image attachments, collaborative comments, and relevant file uploads.
  ![Інтерфейс](http://git.softpro.ua:443/vue/v3-crm/-/raw/dev/src/assets/images/history.png)
  ![Інтерфейс](http://git.softpro.ua:443/vue/v3-crm/-/raw/dev/src/assets/images/images.png)
  ![Інтерфейс](http://git.softpro.ua:443/vue/v3-crm/-/raw/dev/src/assets/images/comments.png)
  ![Інтерфейс](http://git.softpro.ua:443/vue/v3-crm/-/raw/dev/src/assets/images/file-list.png)

## Development

To successfully develop your projects, we recommend following the installation instructions mentioned earlier and the next steps.

### Setup

For using V3-CRM in your project, you need to import it into your components.

```js
import { v3-crm } from '@v3-crm/v3-crm/src'
```

### Test

Once you're finished make sure that all the tests are still passing.

```bash
npm run test
```

### Build

If everything looks good, run the build script.

```bash
npm run build
```