https://github.com/draym/dlab-metadata
Metadata management service for all my NFT projects
https://github.com/draym/dlab-metadata
backend-api metadata nft web3
Last synced: 12 months ago
JSON representation
Metadata management service for all my NFT projects
- Host: GitHub
- URL: https://github.com/draym/dlab-metadata
- Owner: Draym
- Created: 2023-02-27T15:03:26.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-05-10T14:59:54.000Z (about 1 year ago)
- Last Synced: 2025-05-27T03:43:51.895Z (about 1 year ago)
- Topics: backend-api, metadata, nft, web3
- Language: TypeScript
- Homepage: https://dlab-metadata.apifox.cn
- Size: 1.75 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `DLab Metadata service` 
## Project Setup
### Description
NFT Metadata service handle the management of metadata for any NFT collections.
Metadata are stored in Database using standardized format and then are formatted for the desired chain.
Currently supported format:
- ETH: Opensea format
- IMX: IMX format
Metadata example:
```json
{
"name":"Cool Nft",
"description":"description",
"imageUrl":"image.png",
"animationUrl":"animation.mp4",
"properties":{
"rarity":"common",
"mouth":"eagle",
"hand":"bear"
}
}
```
### Prerequisite
1) MySQL database
- start a local MySql server
- Wamp (Windows)
- Mamp (Mac)
- create a new database named 'dlab_metadata'
### Start Application
- Build application
```bash
npm run build
```
- Run in local
```bash
npm run dev
```
- Run in production
```bash
npm run build
npm run start
```
- with Docker
```bash
docker build .
```
## API Documentation (ApiFox)
API documentation can be viewed on [ApiFox](https://dlab-metadata.apifox.cn)
## Branch Workflow
### Gitflow
- Standard branch iterative process:`{jira_number}/{branch_name}` -> `dev` & developer test -> `staging` & QA test -> `main`
- Fixing high-priority bugs:`hotfix/{jira_task_number}>{branch_name}` -> `staging` & QA test -> `main`
> `` should be replaced with a short description of the changes on your branch.
### Branches
- `main`:Host the latest stable code. Deployment to production should be triggered by creating a new GitHub TAG.
- `staging`: Test environment branch in order to test Release branch by QA.
- `dev`: Dev environment branch in order to test Release branch by Developers.
- `{jira_number}/{branch_name}`: Release branch. Responsible for development destined to a specific release.
- `{jira_number}/{jira_task_number}_{sub_branch_name}`: SubRelease branch. Responsible for split heavy workload for multiple developers within a Release branch.
- `hotfix/{jira_task_number}_{branch_name}`: HotFix branch. Responsible for fixing issues from Main branch.
This project follows these [documented guidelines](https://github.com/Draym/git-guidelines)