3. Create DApp Template

Overview

This feature allows users to quickly generate a decentralized application (Dapp) template with predefined configurations, enabling faster development on the Cardano blockchain. It simplifies the setup process, providing essential components and dependencies for building a functional Dapp.

User Story

As a user, I want to generate a pre-configured Dapp template so that I can streamline development and focus on building my application without manually setting up the project structure.

User Flow

1

User navigates to the "Create Dapp Template" page

2

The system display a form with these input fields:

  • Off-chain Interaction SDK (Lucid, Mesh,...)

  • On-chain Programming Language (currently support Aiken)

  • Project Metadata

    • Project Location

    • Project Name

3

User clicks the "Generate" button, initiating the project creation process.

4

The backend calls the POST /dapp-template endpoint, which retrieves the appropriate template based on user input.

5

The webview emits event with the template folder to the Extension.

6

The Extension generates the project based on the received template

7

User can begin development once the template is generated

User Flow Diagrams

Note:

  • We will set up several templates that align with Cardano's best practices and meet project requirements.

  • The system will further process project metadata to enhance frontend integration and customization.

Troubleshooting & Common Issues

Issue

Possible Cause

Solution

Unable to retrieve the template

API request failed

Check console logs for errors

"Request Timed Out" error

Network issue or API down

Retry after a few minutes

API Reference

POST /dapp-template

Get dapp template

Headers

Name
Value

Content-Type

application/json

Body

Name
Type
Description

offChainSDK

string

off-chain sdk

language

string

on-chain language for develop Cardano smart contract

Response

Demo

Screenshot

Video

🔹 For any issues, please refer to the Troubleshooting Section or open an Issue on GitHub.

Last updated