https://github.com/appwrite/appwrite/issues/3960
https://github.com/appwrite/appwrite/issues/3986
Our summer experience was focused on extending Appwrite server functionality through Appwrite's "Functions" and "Storage" features. Leveraging technology such Open Runtimes for serverless cloud computing, Azure Blob for cloud storage, Docker for containerization, PHP for utilizing Appwrite's web framework, and more, we were able to extends Appwrite's storage capacity and list of available serverless functions.
Issue Descriptions:
Our first issue involved implementing the `sendMessage()` function using Kotlin within the Open Runtimes Examples repository. The function should send messages through various channels (Email, SMS, Discord, and Twitter) to specified receivers, with appropriate success or error responses.
Our second issue involved implementing support for Azure Blob Storage in Appwrite and the Utopia PHP storage library.
Learn more about us through our LinkedIns!
Tam Nguyen: https://www.linkedin.com/in/tamnguyen13/
Jaime Palacios: https://www.linkedin.com/in/jaimeapalacios/
James Ramos: https://www.linkedin.com/in/jamesrcramos/
How much experience does your group have? Does the project use anything (art, music, starter kits) you didn't create?
CodeDay Labs team in the advanced track.
What challenges did you encounter?
We encountered a multitude of challenges, all centered around the precise application of correct formatting, accurate documentation, and a comprehensive understanding of the issues at hand. One noteworthy instance relates to the resolution of issue #2, which involved the implementation of a new Microsoft Azure Blob Storage Adapter within Appwrite's Storage repository. With this challenge, we mistakenly assumed that the approach taken for the majority of existing storage adapters in the codebase, reliant on Amazon's S3 Storage, could be applied to our implementation of the Blob storage adapter due to our initial assumptions of the authentication requirements and other aspects.
Contrary to our assumption, a thorough examination revealed significant incompatibilities between the procedures for Azure Blob Storage and Amazon's S3 Storage, which we were able to extinguish by reviewing the official documentation provided by Microsoft. Ultimately, we recognized that Amazon's S3 Storage framework could not be modified for our purposes, which prompted development of an entirely new storage adapter from the beginning. This extensive process culminated in the creation of a custom storage adapter comprising approximately 900 lines of code, nearly reaching the threshold of 1,000 lines. On top of that, we also created and modified unit tests tailored to the newly crafted storage adapter.
We invite you to explore a comprehensive overview of our experiences and challenges by watching the video above! The video delves into our journey in navigating various obstacles beyond the scope of this text, providing a deeper understanding of the technicalities involved with our issues.