Skip to content

Uomi-network/uomi-website-ecosystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 Ecosystem Projects Repository

A GitHub-powered backend system for managing and showcasing ecosystem projects with automatic JSON generation and image hosting.

Auto-Update Projects Projects Count

πŸš€ Quick Start

For Project Owners

Want to add your project to the ecosystem? Follow these simple steps:

  1. Fork this repository
  2. Create your project folder in /projects/
  3. Add your files (JSON + images)
  4. Submit a Pull Request

That's it! Once merged, your project will automatically appear on the ecosystem website.

πŸ“ Repository Structure

ecosystem-backend/
β”œβ”€β”€ .github/workflows/
β”‚   └── update-projects.yml     # Auto-generation workflow
β”œβ”€β”€ projects/
β”‚   β”œβ”€β”€ your-project/
β”‚   β”‚   β”œβ”€β”€ cover.webp         # Banner/background image
β”‚   β”‚   β”œβ”€β”€ primary.webp       # Logo/profile image
β”‚   β”‚   └── your-project.json  # Project metadata
β”‚   └── another-project/
β”‚       β”œβ”€β”€ cover.png          # Supports multiple formats
β”‚       β”œβ”€β”€ primary.jpg        # PNG, JPG, JPEG, WEBP
β”‚       └── project.json       # JSON with project details
β”œβ”€β”€ projects.json              # πŸ€– Auto-generated aggregated data
└── README.md

πŸ“‹ Adding Your Project

Step 1: Create Project Folder

Create a new folder in /projects/ with your project name (use lowercase, hyphens for spaces):

projects/your-awesome-project/

Step 2: Add Required Files

Your project folder must contain exactly these 3 files:

πŸ–ΌοΈ Images (Required)

  • cover.* - Banner/background image (1200x400px recommended)
  • primary.* - Logo/profile image (200x200px recommended, will be displayed as circle)

Supported formats: .webp, .png, .jpg, .jpeg

πŸ“„ JSON Metadata (Required)

Create a JSON file named {your-project-name}.json with this structure:

{
  "name": "Your Project Name",
  "description": "A compelling description of what your project does. Keep it concise but informative - this will be displayed on the project card.",
  "tags": ["DeFi", "NFT", "Gaming", "Infrastructure"],
  "primaryTag": "DeFi",
  "xLink": "https://twitter.com/yourproject",
  "websiteLink": "https://yourproject.com",
  "category": "App"
}

Step 3: Field Specifications

Field Type Required Description
name string βœ… Your project's display name
description string βœ… Brief project description (max 200 chars recommended)
tags array βœ… Technology/category tags for filtering
primaryTag string βœ… Main category tag (displayed prominently)
xLink string ❌ Twitter/X profile URL
websiteLink string ❌ Official website URL
category string βœ… Either "App" or "Infra"

Step 4: Tag Guidelines

Available Categories:

  • App - End-user applications, dApps, games
  • Infra - Infrastructure, tools, protocols, SDKs

Popular Tags:

  • DeFi: DeFi, Trading, Lending, DEX, Yield
  • Infrastructure: Dev Tooling, API, SDK, Analytics, Security
  • Assets: NFT, RWA, Stablecoin, Payments
  • Other: Gaming, Social, DAO, AI, Cross-chain

πŸ”„ Automatic Processing

How It Works

  1. Push Detection: GitHub Actions monitors the /projects/ folder
  2. Validation: Checks each project has required files (JSON + both images)
  3. Processing: Generates public URLs for images and aggregates metadata
  4. Publication: Creates/updates projects.json with all valid projects

Generated Output

The system automatically creates projects.json accessible at:

https://raw.githubusercontent.com/Uomi-network/uomi-website-ecosystem/main/projects.json

Example output:

{
  "projects": [
    {
      "id": "awesome-project",
      "name": "Awesome Project",
      "description": "Revolutionary DeFi protocol...",
      "tags": ["DeFi", "Yield"],
      "primaryTag": "DeFi",
      "category": "App",
      "xLink": "https://twitter.com/awesome",
      "websiteLink": "https://awesome.com",
      "coverImage": "https://raw.githubusercontent.com/.../cover.webp",
      "primaryImage": "https://raw.githubusercontent.com/.../primary.webp"
    }
  ],
  "lastUpdated": "2024-01-15T10:30:00.000Z",
  "count": 42,
  "generatedBy": "GitHub Actions"
}

βœ… Quality Standards

Image Requirements

  • Format: WebP preferred (best compression), PNG/JPG acceptable
  • Cover Image:
    • Aspect ratio: ~3:1 (landscape)
    • Resolution: 1200x400px minimum
    • Max file size: 500KB
  • Primary Image:
    • Aspect ratio: 1:1 (square)
    • Resolution: 200x200px minimum
    • Max file size: 100KB

Content Guidelines

  • Name: Official project name, proper capitalization
  • Description:
    • Clear, professional language
    • Focus on core functionality
    • 50-150 words recommended
  • Links:
    • Must be active and official
    • Use HTTPS when available
  • Tags:
    • Use existing tags when possible
    • Maximum 5 tags per project
    • Relevant to actual functionality

🚫 Rejection Criteria

Projects will be excluded if they:

  • ❌ Missing required files (JSON, cover image, or primary image)
  • ❌ Invalid JSON format
  • ❌ Broken or suspicious links
  • ❌ Inappropriate content
  • ❌ Copyright violations
  • ❌ Images over size limits

πŸ› οΈ For Developers

Frontend Integration

Use the generated JSON in your application:

// Fetch projects data
const response = await fetch('https://raw.githubusercontent.com/Uomi-network/uomi-website-ecosystem/main/projects.json');
const data = await response.json();

// Access projects
const projects = data.projects;
const lastUpdate = data.lastUpdated;
const totalCount = data.count;

API Endpoints

  • All Projects: https://raw.githubusercontent.com/Uomi-network/uomi-website-ecosystem/main/projects.json
  • Individual Images: https://raw.githubusercontent.com/Uomi-network/uomi-website-ecosystem/main/projects/{project-id}/{image-file}

Local Development

# Clone repository
git clone https://github.com/Uomi-network/uomi-website-ecosystem.git
cd uomi-website-ecosystem

# Test workflow locally (requires Node.js)
node -e "
const fs = require('fs');
// ... (workflow script content)
"

πŸ“Š Statistics

  • πŸš€ Auto-deployment: Changes go live within 2-3 minutes
  • πŸ–ΌοΈ CDN-backed: Images served via GitHub's global CDN
  • πŸ“± Mobile-optimized: Responsive image serving
  • πŸ”„ Real-time: JSON updates automatically on every push

πŸ“§ Support

Adding Your Project

  • Issue: Can't add your project? Open an issue
  • Questions: Review this README first, then ask in discussions

Technical Issues

  • Workflow Failures: Check Actions tab for error details
  • Image Problems: Verify file sizes and formats
  • JSON Errors: Validate your JSON syntax

Individual project information and images remain property of their respective owners.


🌟 Ready to showcase your project?

➑️ Add Your Project Now | πŸ“‹ View All Projects | πŸ”§ Report Issues

About

Want to add your project to the ecosystem page?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •