Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⚡ Write a getPrice() Function using Kotlin #4085

Closed
4 tasks
PineappleIOnic opened this issue Oct 3, 2022 · 5 comments
Closed
4 tasks

⚡ Write a getPrice() Function using Kotlin #4085

PineappleIOnic opened this issue Oct 3, 2022 · 5 comments
Labels
good first issue Good for newcomers product / functions Fixes and upgrades for the Appwrite Functions.

Comments

@PineappleIOnic
Copy link
Member

💭 Introduction

Appwrite Functions allow you to extend and customize your Appwrite server functionality by executing your custom code 🤩 You can learn more in our official Appwrite Functions docs.

The backbone of Appwrite Functions is Open Runtimes, an environment for serverless cloud computing. Since all Open Runtime functions are valid Appwrite functions, we are looking for contributors to extend the Open Runtimes Examples repository.

Your task is to implement getPrice() function using Kotlin. Please make sure to look at existing function examples and use them as a template for your function. This will help you keep the proper structure as well as provide information on how to test the function.

⚡ Function Details

Get the price of crypto, stocks, and commodities. Feel free to use 3rd party services and introduce their secret keys as function variables. The type of goods should be provided as payload, and the price in dollars should be returned. Supported goods should include (at least) Bitcoin, Ethereum, Google, Amazon, gold, and silver.

Example function payload:

{"type":"gold"}

Successful function response:

{"success":true,"price":1666.81}

Error function response:

{"success":false,"message":"Type is not supported."}

🎯 Requirements

  • Experience with Appwrite.
  • Experience with Kotlin.
  • Knowledge to implement getPrice function.
  • Experience with Docker.

✅ Task Summary

  • Ask to be assigned to the issue.
  • Implement function getPrice() in Kotlin/ folder.
  • Manually execute the newly implemented function to ensure it works.
  • Submit a pull request in open-runtimes/examples and include screenshots of successful execution.

If you have questions, need any help, or just want to hang out, make sure to join us on our Discord server.

Happy Appwriting!

@PineappleIOnic PineappleIOnic added feature product / functions Fixes and upgrades for the Appwrite Functions. good first issue Good for newcomers hacktoberfest Issues that can win you some cool swags! labels Oct 3, 2022
@hardiksachan
Copy link

Hey there! I'd like to work on this

@Meldiron
Copy link
Contributor

Meldiron commented Oct 4, 2022

@hardiksachan Happy to see participating in Hacktoberfest this year again 😇

Assigned to you, happy hacking 🎃

@hardiksachan
Copy link

Hey there! How can I apply plugins to my code?

I'm using kotlinx.serialization for content negotiation and it requires me to apply a plugin which I cannot do since plugins block is not allowed in deps.gradle file.

@abnegate
Copy link
Contributor

Hey @hardiksachan 👋 It's possible to add plugins in deps.gradle, but you have to use the old application method instead of the plugins block, as well as use the fully qualified class name of the plugin when applying. You can use kotlinx.serialization like so:

buildscript {
    repositories { 
        mavenCentral() 
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-serialization:1.6+"
    }
}

apply plugin: org.jetbrains.kotlinx.serialization.gradle.SerializationGradleSubplugin

dependencies {
    implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0"
}

@stnguyen90 stnguyen90 removed the hacktoberfest Issues that can win you some cool swags! label Nov 7, 2022
@eldadfux
Copy link
Member

Thank you everyone for celebrating Hacktoberfest 22 with us! This issue will now be closed as we're getting ready to celebrate Hacktoberfest 23.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers product / functions Fixes and upgrades for the Appwrite Functions.
Projects
None yet
Development

No branches or pull requests

6 participants