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 generateInvoice() Function using Kotlin #4096

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

⚡ Write a generateInvoice() Function using Kotlin #4096

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

PineappleIOnic commented Oct 3, 2022

💭 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 generateInvoice() 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

Generate a PDF invoice. Please avoid using 3rd party services, but feel free to use a library. The payload must provide all invoice details, and a PDF in base64 format should be returned. Regarding customer and issuer, please support \n as a symbol for breaking lines. Invoices usually have 4-5 lines of information for both which include for instance name, address, and phone number.

Example function payload:

{"currency":"EUR","items":[{"name":"Web development","price":15}],"issuer":"Some\nIssuer","customer":"Some\nCustomer","vat":21}

Successful function response:

{"success":true,"invoice":"iVBORw0KGgoAAAANSUhEUgAAAaQAAALiCAY...QoH9hbkTPQAAAABJRU5ErkJggg=="}

Error function response:

{"success":false,"message":"Please provide a currency."}

🎯 Requirements

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

✅ Task Summary

  • Ask to be assigned to the issue.
  • Implement function generateInvoice() 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
@devtayade
Copy link

@PineappleIOnic hey i really want to work on this issue. this can be my first step towards open source. can you please assign me this issue ?

@tessamero
Copy link

@devtayade Looks like you have some issues assigned to you already (just recently). We request you complete those before requesting assignments on new ones. Also, please consider picking a different type of issue so other contributors can try this one.

@letsintegreat
Copy link

Hey! As my last PR was approved, I would like to take on this new issue.

@stnguyen90
Copy link
Contributor

@letsintegreat Thanks for your interest! You may work on this issue 🙏 Happy hacking! 🎃

@letsintegreat letsintegreat removed their assignment Oct 18, 2022
@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