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

https://github.com/raideno/medusa-plugin-ultimate

Medusa Plugin Ultimate is a plugin made for medusa that give super powers to your entities.
https://github.com/raideno/medusa-plugin-ultimate

medusa medusa-plugin medusa-plugin-ultimate

Last synced: 4 months ago
JSON representation

Medusa Plugin Ultimate is a plugin made for medusa that give super powers to your entities.

Awesome Lists containing this project

README

          

# Medusa Plugin Ultimate

![Thumbnail](./assets/plugin-thumbnail.png)

The Medusa Plugin Ultimate is a powerful tool that allows developers to easily add a user interface to entities marked with a decorator. With this plugin, you can seamlessly create, edit, view, and delete documents associated with these entities, and expose them through a specific route for your store.

## Documentation

See [Documentation](https://medusa-plugin-ultimate.raideno.xyz).

## Contact

**Discord:** @raiden56 `ID:423897604330618883`

## Usage

### Installation

```
npm i medusa-plugin-ultimate
```

### Configuration

this env variables are required on the admin: `MEDUSA_ADMIN_BACKEND_URL` or `BACKEND_URL`

```ts
// medusa-config.js

const plugins = [
/** @type {import('medusa-plugin-ultimate').Options} */
{
resolve: "medusa-plugin-ultimate",
options: {
enableUI: true,
backendUrl: process.env.BACKEND_URL || "http://localhost:9000",
},
},
];

// ...
```

### Final Step

Now create your entities and don't forget to add migrations for them, after that the UI will automatically be generated for your entitiy.

```ts
// example:
// src/models

import { BeforeInsert, Column, Entity } from "typeorm";

import { BaseEntity } from "@medusajs/medusa";
import { generateEntityId } from "@medusajs/utils";

import {
UltimateEntity,
UltimateEntityField,
UltimateEntityFieldTypes,
} from "medusa-plugin-ultimate/dist/index";

@Entity()
@UltimateEntity({})
export class BlogPost extends BaseEntity {
@Column({ type: "varchar", nullable: false })
@UltimateEntityField({
type: UltimateEntityFieldTypes.STRING,
})
title: string;

@Column({ type: "varchar", nullable: true })
@UltimateEntityField({
type: UltimateEntityFieldTypes.MARKDOWN,
})
content: string;

@BeforeInsert()
private beforeInsert(): void {
this.id = generateEntityId(this.id, "blog-post");
}
}
```

## Documentation

See [Documentation](https://medusa-plugin-ultimate.raideno.xyz).

## Examples

- [Blog Posts](https://medusa-plugin-ultimate.raideno.xyz)
- [Blog Posts With Categories](https://medusa-plugin-ultimate.raideno.xyz)
- [Product Rich Description](https://medusa-plugin-ultimate.raideno.xyz)
- [Product Brand](https://medusa-plugin-ultimate.raideno.xyz)

## Features

- **Automatically Create UI For Entities:** The Medusa Plugin Ultimate seamlessly integrates with your entities. By simply marking an entity with a decorator, you can enable a user interface for it in the Medusa dashboard.

- **Create, Edit, View, Delete:** Once your entity has a UI, you can easily perform essential CRUD operations. Create new documents, edit existing ones, view their details, and delete them with ease.

- **Customizable UI:** The UI generated by this plugin is customizable, allowing you to tailor it to your specific requirements. You can control the appearance and behavior of the UI elements.

- **Route Exposition:** In addition to the dashboard integration, this plugin exposes your entity documents via a specific route. This makes it easy for your store to interact with these documents programmatically.