The power
to bring
ideas to life

How to deploy a App

Deploying an application to our platform involves the process of making your application available and accessible to users or customers. It typically involves setting up the necessary infrastructure, configuring the environment, and making sure your application is properly installed, running, and accessible. We use the git technologie to deploy your app and make change effective.

To start you need to navigate to the console section, create a organisation and by click the Add new button in the application section you will create a aplication

Deploy a static website

  • Choose the type of hosting service suitable for your needs, specifically the static website option. Select the desired payment period and proceed with the transaction. Once the transaction is validated, you will be able to access your app in the application section.

  • To get more information about your deployed website, click on the View details button. This will take you to the overview tab, where you can find useful details about your deployment.

  • In the overview tab, you will see a Git link that you can add to your project. This link allows you to connect your project with our hosting platform, enabling seamless deployment updates. Note that you need to add your ssh key first.

  • Additionally, you will find a default domain provided by our hosting platform. This default domain allows you to view and test your live modifications. Simply access the provided default domain in your web browser to see your website in action.

  • If you wish to use your own custom domain for your website, navigate to the DNS tab. Here, you can add your current domain to associate it with your deployed website. To use a custom domain, you'll need to set up an A record that points to the server provided by our hosting platform.

Deploy a Django App

  • Choose the type of hosting service suitable for your needs, specifically the Django option. Select the desired payment period and proceed with the transaction. Once the transaction is validated, you will be able to access your app in the application section.

  • To get more information about your deployed website, click on the View details button. This will take you to the overview tab, where you can find useful details about your deployment.

  • In the overview tab, you will see a Git link that you can add to your project. This link allows you to connect your project with our hosting platform, enabling seamless deployment updates. Note that you need to add your ssh key first.

  • You will need to create a devfundme folder and add a file name python.json content those tasks and the module to run your django app correctly.

    Example:

            {
                "deploy": {
                    "module": "config.wsgi:application",
                    "managetasks": [
                        "collectstatic --no-input",
                        "migrate --no-input"
                    ]
                }
            }

You can download the file here

  • Additionally, you will find a default domain provided by our hosting platform. This default domain allows you to view and test your live modifications. Simply access the provided default domain in your web browser to see your website in action.

  • To add environment variables for your deployed static website, follow these steps:

    1. Go to the settings tab of our hosting platform. This tab allows you to manage various configuration settings for your deployed website.

    2. Look for the option related to environment variables.

    3. Within the environment variables section, you can set your specific variables. Each variable should be defined in the format of VARIABLE_NAME=VALUE. For example, if you want to set the SECRET_KEY variable to TEYHD673893ud&*, you would write it as follows:

      SECRET_KEY=TEYHD673893ud&*

    4. Add any other environment variables you require in the same manner, each on a new line.

    5. Once you have added the desired environment variables, save the changes. The hosting platform will update the configuration and apply the specified environment variables to your deployed static website.

  • If you wish to use your own custom domain for your website, navigate to the DNS tab. Here, you can add your current domain to associate it with your deployed website. To use a custom domain, you'll need to set up an A record that points to the server provided by our hosting platform.

Deploy a Laravel App

  • Choose the type of hosting service suitable for your needs, specifically the Laravel option. Select the desired payment period and proceed with the transaction. Once the transaction is validated, you will be able to access your app in the application section.

  • To get more information about your deployed website, click on the View details button. This will take you to the overview tab, where you can find useful details about your deployment.

  • In the overview tab, you will see a Git link that you can add to your project. This link allows you to connect your project with our hosting platform, enabling seamless deployment updates. Note that you need to add your ssh key first.

  • You will need to create a devfundme folder and add a file name php.json content some tasks to run your Laravel app.

    Example:

            {
                "deploy": {
                    "managetasks": [
                        "artisan migrate --force",
                        "artisan config:cache",
                        "artisan route:cache"
                    ]
                }
            }

You can download the file here

  • Additionally, you will find a default domain provided by our hosting platform. This default domain allows you to view and test your live modifications. Simply access the provided default domain in your web browser to see your website in action.

  • To add environment variables for your deployed static website, follow these steps:

    1. Go to the settings tab of our hosting platform. This tab allows you to manage various configuration settings for your deployed website.

    2. Look for the option related to environment variables.

    3. Within the environment variables section, you can set your specific variables. Each variable should be defined in the format of VARIABLE_NAME=VALUE. For example, if you want to set the SECRET_KEY variable to TEYHD673893ud&*, you would write it as follows:

      text SECRET_KEY=TEYHD673893ud&*

    4. Add any other environment variables you require in the same manner, each on a new line.

    5. Once you have added the desired environment variables, save the changes. The hosting platform will update the configuration and apply the specified environment variables to your deployed static website.

  • If you wish to use your own custom domain for your website, navigate to the DNS tab. Here, you can add your current domain to associate it with your deployed website. To use a custom domain, you'll need to set up an A record that points to the server provided by our hosting platform.

Deploy a Wordpress App

  • Choose the type of hosting service suitable for your needs, specifically the Wordpress option. Select the desired payment period and proceed with the transaction. Once the transaction is validated, you will be able to access your app in the application section.

  • To get more information about your deployed website, click on the View details button. This will take you to the overview tab, where you can find useful details about your deployment.

  • Additionally, you will find a default domain provided by our hosting platform. This default domain allows you to view and test your live modifications. Simply access the provided default domain in your web browser to see your website in action.

  • If you wish to use your own custom domain for your website, navigate to the DNS tab. Here, you can add your current domain to associate it with your deployed website. To use a custom domain, you'll need to set up an A record that points to the server provided by our hosting platform.

Deploy a Node App

  • Choose the type of hosting service suitable for your needs, specifically the Node.js option. Select the desired payment period and proceed with the transaction. Once the transaction is validated, you will be able to access your app in the application section.

  • To get more information about your deployed website, click on the View details button. This will take you to the overview tab, where you can find useful details about your deployment.

  • In the overview tab, you will see a Git link that you can add to your project. This link allows you to connect your project with our hosting platform, enabling seamless deployment updates. Note that you need to add your ssh key first.

  • To run your node app in the devfundme environment you need to get the port by using

port = process.env.PORT
  • When some tasks need to be done, you will need to create a devfundme folder and add a file name js.json content some tasks.
  • By default the main file to run your node app is index.js but you can specify by adding a argument mainFile

    Example:

            {
                "deploy": {
                    "mainFile": "src/index.js",
                    "managetasks": [
                        "script_name",
                    ]
                }
            }

You can download the file here

  • To add environment variables for your deployed static website, follow these steps:

    1. Go to the settings tab of our hosting platform. This tab allows you to manage various configuration settings for your deployed website.

    2. Look for the option related to environment variables.

    3. Within the environment variables section, you can set your specific variables. Each variable should be defined in the format of VARIABLE_NAME=VALUE. For example, if you want to set the SECRET_KEY variable to TEYHD673893ud&*, you would write it as follows:

      SECRET_KEY=TEYHD673893ud&*

    4. Add any other environment variables you require in the same manner, each on a new line.

    5. Once you have added the desired environment variables, save the changes. The hosting platform will update the configuration and apply the specified environment variables to your deployed static website.

  • If you wish to use your own custom domain for your website, navigate to the DNS tab. Here, you can add your current domain to associate it with your deployed website. To use a custom domain, you'll need to set up an A record that points to the server provided by our hosting platform.

PMS API Documentation

Welcome to the PMS (Payment Management System) API documentation. To begin using our PMS API, you need to apply for access through the professional link. Once validated, you will receive a unique Reveal API Token that serves as your authentication key.

How to Generate link

Purpose To generate a checkout link to allow customers to pay for your services or products

Example:

    curl -X POST \

        https://devfundme.com/api/pms/generate_paylink/ \

        -H 'Authorization: Token YOUR_API_TOKEN' \

        -H 'Content-Type: application/json' \

        -d '{

        "amount": "100",

        "payor_name":"exemple",

        "payor_email": "exemple@gmail.com",

        "meta_data": {"data":"exemple"},

        "note": "Information about the transaction",

        "return_url": "https://your_website_redirect_url/",

        "webhooks_url": "https://your_website_redirect_url/webhooks"

    }'

Example response:

    {

        "id": 1,

        "pay_url": "http://example.com/pms/2/checkout/",

        "payor_name": "exemple",

        "payor_email": "exemple@gmail.com",

        "meta_data":  {"data":"exemple"},

        "webhooks_url": "https://your_website_redirect_url/webhooks",

        "created_at": "2023-09-08T10:03:27.300625Z",

        "updated_at": "2023-09-08T10:03:27.344684Z",

        "transaction": {

            "id": 2,

            "order_id": "d8ea9646-5f15-426e-a5ca-f966b3c06016",

            "transaction_id": null,

            "account_id": null,

            "status": "PENDING",

            "payment_method": "MONCASH",

            "return_url": "https://your_website_redirect_url/",

            "on_success": "pms.models:Paylink.consume_transaction",

            "meta_data": {}

        }
    }

Endpoint URL

  • URL : /generate_paylink/

Request

  • Method

  • HTTP Method : POST

  • Request Body

    • Data Format : JSON

      • Body JSON Keys

        Key Type Required Field:
        amount Decimal Required Field:
        note String Optional Field:
        return_url String(Url formatted) Optional Field:
        webhooks_url String(Url formatted) Optional Field:
        meta_data Text/JSON Optional Field:
        payor_name String Optional Field:
        payor_email String (email formatted) Optional Field:

Response

  • Success Response

    • HTTP Status Code : 200 OK
  • Response Body

    • Data Format : JSON

    • Response JSON Keys

      Key Type Description
      pay_url Url This is a generate link
      payor_name String Your payor Name
      payor_email String (email formatted) Your payor email
      …… ……

Possibles Errors

  • HTTP Status Code : 401 Unauthorized

    • Response Body :
        {

        "error": "Unauthorized",

        "message": "Invalid or expired token"

        }
  • HTTP Status Code : 400 Bad Request

    • Response Body :
        {

        "error": "Bad Request",

        "message": "Invalid request data"

        }
  • HTTP Status Code : 500 Internal error

    • Response Body :
        {

        "message": "Internal Server Error"

        }

List of paylinks

  • Purpose Retrieve the list of all generated paylinks

Example:

    curl  https://devfundme.com/api/pms/paylink/ \

        -H 'Authorization: Token YOUR_API_TOKEN' \

        -H 'Content-Type: application/json' 

Example response:

[

,


    {

    "id": 1,

    "pay_url": "http://example.com/pms/2/checkout/",

    "payor_name": "",

    "payor_email": "",

    "meta_data": null,

    "webhooks_url": "https://your_website_redirect_url/webhooks",

    "created_at": "2023-09-08T10:03:27.300625Z",

    "updated_at": "2023-09-08T10:03:27.344684Z",

    "transaction": {

        "id": 2,

        "order_id": "d8ea9646-5f15-426e-a5ca-f966b3c06016",

        "transaction_id": null,

        "account_id": null,

        "status": "PENDING",

        "payment_method": "MONCASH",

        "return_url": "http://example.com/pms/service/",

        "on_success": "pms.models:Paylink.consume_transaction",

        "meta_data": {

            "paylink": {

            "id": 1,

            "user": 1,

            "transaction": null,

            "payout": null,

            "created_at": "2023-09-08T10:03:27.300625+00:00",

            "updated_at": "2023-09-08T10:03:27.300643+00:00"

            }
        },

    "created_at": "2023-09-08T10:03:27.307760Z",

    "updated_at": "2023-09-08T10:03:27.307772Z",

    "user": null,

    "coupon": null

    },

    "payout": null

    },

.

]

Endpoint URL

  • URL : /paylink/

Request

  • Method

  • HTTP Method : GET

Response

  • Success Response

    • HTTP Status Code : 200 OK
  • Response Body

    • Data Format : JSON

Possibles Errors

  • HTTP Status Code : 401 Unauthorized

    • Response Body :
        {

        "error": "Unauthorized",

        "message": "Invalid or expired token"

        }
  • HTTP Status Code : 400 Bad Request

    • Response Body :
        {

        "error": "Bad Request",

        "message": "Invalid request data"

        }
  • HTTP Status Code : 500 Internal error

    • Response Body :
        {

        "message": "Internal Server Error"

        }

Get a transaction

  • Purpose Get a specific transaction

Example:

    curl  https://devfundme.com/api/pms/transaction/get_by_order_id/{order_id} \

        -H 'Authorization: Token YOUR_API_TOKEN' \

        -H 'Content-Type: application/json' \

Example response:

[

,


    {

        "id": 2,

        "order_id": "d8ea9646-5f15-426e-a5ca-f966b3c06016",

        "transaction_id": null,

        "account_id": null,

        "status": "PENDING",

        "payment_method": "MONCASH",

        "return_url": "http://example.com/pms/service/",

        "on_success": "pms.models:Paylink.consume_transaction",

        "meta_data": {

            "paylink": {

            "id": 1,

            "user": 1,

            "transaction": null,

            "payout": null,

            "created_at": "2023-09-08T10:03:27.300625+00:00",

            "updated_at": "2023-09-08T10:03:27.300643+00:00"

            }
        },

    "created_at": "2023-09-08T10:03:27.307760Z",

    "updated_at": "2023-09-08T10:03:27.307772Z",

    "user": null,

    "coupon": null

    },

.

]

Endpoint URL

  • URL : /transaction/get_by_order_id/

Request

  • Method

  • HTTP Method : GET

Response

  • Success Response

    • HTTP Status Code : 200 OK
  • Response Body

    • Data Format :

      Key Type Description
      payment_method String Returns the payment method used for the transaction. Possible values include:
      - MONCASH: Payment made through MonCash
      - NATCASH: Payment made through NatCash
      - BANK: Payment made through bank transfer
      - PROMO_CODE: Payment made using a promotional code
      - STRIPE: Payment made via Stripe
      return_url Url It is your url provide to call when the payment is success
      status String Represents the current status of the transaction. Possible values include:
      - PENDING: Transaction is awaiting processing
      - WAITING_VALIDATION: Transaction is pending validation
      - CANCEL: Transaction has been canceled
      - REFUSE: Transaction has been refused
      - COMPLETE: Transaction has been successfully completed
      - REFUND: Transaction involves a refund process
      Use this attribute to track the status of your payment.
      …… …… ……

Possibles Errors

  • HTTP Status Code : 401 Unauthorized

    • Response Body :
        {

        "error": "Unauthorized",

        "message": "Invalid or expired token"

        }
  • HTTP Status Code : 400 Bad Request

    • Response Body :
        {

        "error": "Bad Request",

        "message": "Invalid request data"

        }
  • HTTP Status Code : 500 Internal error

    • Response Body :
        {

        "message": "Internal Server Error"

        }

Generating SSH Key

  1. macOS

    1. Open Terminal.
    2. Run the following command to generate an SSH key:

      ```text

      ssh-keygen -t rsa -C exemple@domain.com
      

      ```

    3. Example Output:

      ``` text

      Generating public/private rsa key pair.
      Enter file in which to save the key (/Users/example/.ssh/id_rsa):
      

      ```

    4. Press Enter to accept the default file location or specify a custom location. By default, the keys are stored in the ~/.ssh directory.

    5. When prompted, enter a passphrase to secure your private key (optional). We recommend pressing ENTER to bypass this prompt. If you use a passphrase, you will enter it each time you use the key.

    6. Your SSH key pair has been generated. The public key will be saved as id_rsa.pub in the specified location,and the and the private key as id_rsa

    7. Example Output:


    Your identification has been saved in /Users/example/.ssh/id_rsa.

    Your public key has been saved in /Users/example/.ssh/id_rsa.pub.

    The key fingerprint is:

    SHA256:qx6prR4Zo+VU7Fl8yivXzzzzzzzzJ/9NRnPbrC20w7g example@example.com

    The key's randomart image is:

    +--[RSA 2048]--+

    |                 |

    |     o .         |

    |    o B o + .    |

    |     B + + o +   |

    |    = = S o o o  |

    |   = + = O + +   |

    |  . + B B = * .  |

    |     = O   + o   |

    |   .+o=.. E .    |

    +----[SHA256]-----+
6. To deploy your application on Devfundme, you need to add your public key to the Devfundme console. This step is necessary to establish a secure connection between your local machine and the Devfundme platform. By adding your public key, Devfundme can authenticate your access and allow you to deploy your application.
    - Copy the content of your public key (id_rsa.pub). You can open the file using a text editor or run the following command in your terminal:

        ``` text
            cat ~/.ssh/id_rsa.pub
        ```

    - Log in to the Devfundme console and click to the ssh keys in the sidebar to navigate to the appropriate section where you can manage your SSH keys.
    - Find the option to add a new SSH key and paste the content of your public key into the provided field.
    - Save or apply the changes to add your public key to the Devfundme console.
  1. Windows

    1. Open Git Bash or Command Prompt.
    2. Run the following command to generate an SSH key:

      ssh-keygen -t rsa -C exemple@domain.com

    3. Example Output:

      ```
          Generating public/private rsa key pair.
          Enter file in which to save the key (/Users/example/.ssh/id_rsa):
      ```
      
    4. Press Enter to accept the default file location or specify a custom location. By default, the keys are stored in the ~/.ssh directory.

    5. When prompted, enter a passphrase to secure your private key (optional). We recommend pressing ENTER to bypass this prompt. If you use a passphrase, you will enter it each time you use the key.

    6. Your SSH key pair has been generated. The public key will be saved as id_rsa.pub in the specified location,and the and the private key as id_rsa

    7. Example Output:

      ``` Your identification has been saved in /Users/example/.ssh/id_rsa.

      Your public key has been saved in /Users/example/.ssh/id_rsa.pub.
      
      The key fingerprint is:
      
      SHA256:qx6prR4Zo+VU7Fl8yivXzzzzzzzzJ/9NRnPbrC20w7g example@example.com
      
      The key's randomart image is:
      
      +--[RSA 2048]--+
      
      |                 |
      
      |     o .         |
      
      |    o B o + .    |
      
      |     B + + o +   |
      
      |    = = S o o o  |
      
      |   = + = O + +   |
      
      |  . + B B = * .  |
      
      |     = O   + o   |
      
      |   .+o=.. E .    |
      
      +----[SHA256]-----+
      

      ```

    8. To deploy your application on Devfundme, you need to add your public key to the Devfundme console. This step is necessary to establish a secure connection between your local machine and the Devfundme platform. By adding your public key, Devfundme can authenticate your access and allow you to deploy your application.

      • Copy the content of your public key (id_rsa.pub). You can open the file using a text editor or run the following command in your terminal:

        type ~/.ssh/id_rsa.pub

      • Log in to the Devfundme console and click to the ssh keys in the sidebar to navigate to the appropriate section where you can manage your SSH keys.

      • Find the option to add a new SSH key and paste the content of your public key into the provided field.
      • Save or apply the changes to add your public key to the Devfundme console.

Create a ssh config file

When you have multiple SSH keys on your computer, there may be instances where the SSH client offers a key that is not associated with the public key you added to DevFundMe. In such cases, you can create a configuration file in the ~/.ssh directory to manage your SSH key preferences more effectively. Here's how you can improve the provided instruction:

  • Open a terminal or command prompt.

  • Navigate to the ~/.ssh directory. If it doesn't exist, you can create it by running the following command:

    mkdir -p ~/.ssh

  • Change to the ~/.ssh directory using the command:

    cd ~/.ssh

  • Create a new configuration file using a text editor of your choice. For example, you can use nano:

    nano config

    This will open the configuration file in the nano editor.

  • In the configuration file, you can specify the SSH keys to use for different hosts or domains. For example, if you want to associate a specific key with DevFundMe, you can add the following lines:

    ```

    Host devfundme
    
        HostName console.devfundme.com
    
        IdentityFile ~/.ssh/devfundme_key
    

    ```

    Replace devfundme_key with the filename of your private key for DevFundMe.

  • Ensure that the permissions on the configuration file are secure:

    chmod 600 config

Now, when you connect to the devfundme host using SSH, the client will automatically use the specified key (devfundme_key) for authentication.

By setting up a configuration file, you can manage multiple SSH keys and associate them with specific hosts or domains, ensuring the correct key is used when connecting to different services.