š§ DiceMatrix API Hub
Welcome to the DiceMatrix API ā a custom backend tailored for Dice | Mods and Donnieās Portfolio. The API provides seamless, structured data endpoints to support live updates on both mods.dicematrix.cloud and donnie.dicematrix.cloud. This landing page serves as a documentation guide and an example of cohesive API design and frontend integration.
š API Purpose and Structure
š¹ Mods Matrix
The Dice | Mods page uses the API to populate mod data, making it easy to add, update, or remove mods and their details without manual changes on the frontend. This modularity is ideal for presenting dynamic content in real time.
š¹ Donnieās Portfolio
Donnieās portfolio relies on the Donnie API endpoint to present personal projects, with live updates on project statuses, descriptions, and tech stacks. This API-driven content management approach streamlines the portfolio's upkeep and allows showcasing of recent work effortlessly.
š API Documentation and Usage
All requests to this API are read-only at this stage, retrieving JSON data for integration into the specified sites. No API keys or tokens are currently required for access.
Base URL
https://api.dicematrix.cloud/api
Available Endpoints
Each endpoint below serves a specific data structure, optimized for integration with Mods Matrix or Donnieās Portfolio.
Mods API
Provides mod details for the mods.dicematrix.cloud page.
- Endpoint:
/api/mods - Description: Fetches a list of all mods available on Mods Matrix, with details like name, version, description, and download link.
- Example Request:
GET https://api.dicematrix.cloud/api/mods - Example Response:
[ { "name": "BLU | Better Level-Up!", "version": "5.0.3", "description": "Enhances the level-up experience with new visuals and sounds.", "downloadLink": "https://github.com/donniedice/BLU", "releaseDate": "2024-09-15", "imageUrl": "https://mods.dicematrix.cloud/blu_logo.png", "category": "Visual Enhancement" }, { "name": "CCU | Coordination Cloak Utility!", "version": "2.0.8", "description": "Automatically re-equips your cloak after teleporting.", "downloadLink": "https://github.com/donniedice/CoordinationCloakUtility", "releaseDate": "2024-10-01", "imageUrl": "https://mods.dicematrix.cloud/ccu_logo.png", "category": "Utility" } ] - Field Descriptions:
name: The mod's display name.version: The mod's version, ensuring users see the latest updates.description: A brief summary of the modās functionality.downloadLink: A direct link for downloading the mod.releaseDate: The modās release date in ISO format.imageUrl: URL for the modās logo or thumbnail.category: Category of the mod, e.g., "Visual Enhancement" or "Utility."
Donnie API
Supports donnie.dicematrix.cloud by providing structured data for Donnieās personal project portfolio.
- Endpoint:
/api/donnie - Description: Retrieves data for each portfolio project, including tech stack and current status.
- Example Request:
GET https://api.dicematrix.cloud/api/donnie - Example Response:
[ { "projectName": "Coordination Cloak Utility", "technologyStack": ["Lua", "World of Warcraft API"], "description": "Automates cloak re-equipping after teleportation.", "status": "Completed", "link": "https://github.com/donniedice/CoordinationCloakUtility" }, { "projectName": "Mods Matrix", "technologyStack": ["Vue.js", "Express.js", "MongoDB"], "description": "A dynamic site showcasing mods data.", "status": "In Progress", "link": "https://github.com/donniedice/ModsMatrix" } ] - Field Descriptions:
projectName: Name of the project.technologyStack: List of technologies used (e.g., "Vue.js", "Express.js").description: Brief summary of the project.status: Current project status, such as "Completed" or "In Progress."link: URL to the projectās repository or live page.
š Implementation Guide
Dice | Mods Integration
- API Call: Use a
GETrequest to/api/modsto retrieve mod data. - Data Handling: Loop through the JSON response, mapping each modās properties (e.g.,
name,version) to display elements. - Example Code (JavaScript):
fetch('https://api.dicematrix.cloud/api/mods') .then(response => response.json()) .then(data => { data.forEach(mod => { // Inject mod data into HTML elements, e.g., title, description console.log(`Mod: ${mod.name}, Version: ${mod.version}`); }); });
Portfolio Integration on Donnieās Site
- API Call: Send a
GETrequest to/api/donnieto retrieve live project details. - Dynamic Display: Render each projectās details on the portfolio page by mapping JSON properties to display elements.
- Example Code (JavaScript):
fetch('https://api.dicematrix.cloud/api/donnie') .then(response => response.json()) .then(data => { data.forEach(project => { // Dynamically insert project details into the portfolio page console.log(`Project: ${project.projectName}, Status: ${project.status}`); }); });
š API Features and Design Highlights
- Flexible Data Structure: Designed to expand as new project categories are added.
- Real-Time Integration: Provides immediate updates for mod and project data, simplifying content management.
- Optimized for Performance: Minimal, clear response structures ensure rapid data loading and lower payload.
- Consistency and Reliability: Responses maintain a predictable structure, allowing smooth integration with any frontend.
š Technical Implementation Details
The DiceMatrix API is built using Node.js with Express.js for routing and MongoDB for data storage. This stack enables robust data handling, seamless updates, and easy scalability. It also follows RESTful principles to ensure clarity in design.
- Data Source: MongoDB is utilized for flexible, schema-less storage, allowing easy adjustments to the data structure.
- Routing: The Express router is configured to separate mods and portfolio endpoints for modularity.
- Deployment: Deployed on api.dicematrix.cloud, with sub-paths routed to relevant databases and collections.
Example Config (Nginx): To route the API efficiently, use
locationblocks that define paths for/api/modsand/api/donnie, pointing to the correct backend services.
š¬ Support & Further Information
For further inquiries, technical issues, or feedback on the API, reach out via the following:
- Email: joseph@dicematrix.cloud
- GitHub: Check out our GitHub for source code and project updates.
Elevate your portfolio and projects with the efficient, modular, and visually appealing DiceMatrix API. š