{"id":23454861,"url":"https://github.com/pooranjoyb/cpp-sdk-appwrite","last_synced_at":"2025-04-14T00:15:30.642Z","repository":{"id":259769102,"uuid":"867264810","full_name":"pooranjoyb/cpp-sdk-appwrite","owner":"pooranjoyb","description":"First-Ever C++ SDK for Appwrite, Built from Scratch!","archived":false,"fork":false,"pushed_at":"2025-04-08T10:31:19.000Z","size":11497,"stargazers_count":6,"open_issues_count":13,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T00:15:14.952Z","etag":null,"topics":["appwrite","cpp","jwoc","sdk","sdk-cpp","unofficial"],"latest_commit_sha":null,"homepage":"https://pooranjoyb.github.io/cpp-sdk-appwrite/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pooranjoyb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-03T18:29:08.000Z","updated_at":"2025-04-08T18:07:52.000Z","dependencies_parsed_at":"2024-12-23T06:21:50.866Z","dependency_job_id":"9d9f503d-9222-4dd3-9f17-149ceddc2bdc","html_url":"https://github.com/pooranjoyb/cpp-sdk-appwrite","commit_stats":null,"previous_names":["pooranjoyb/cpp-sdk-appwrite"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pooranjoyb%2Fcpp-sdk-appwrite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pooranjoyb%2Fcpp-sdk-appwrite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pooranjoyb%2Fcpp-sdk-appwrite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pooranjoyb%2Fcpp-sdk-appwrite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pooranjoyb","download_url":"https://codeload.github.com/pooranjoyb/cpp-sdk-appwrite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248799953,"owners_count":21163404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appwrite","cpp","jwoc","sdk","sdk-cpp","unofficial"],"created_at":"2024-12-24T03:14:51.698Z","updated_at":"2025-04-14T00:15:30.585Z","avatar_url":"https://github.com/pooranjoyb.png","language":"C++","readme":"# Appwrite C++ SDK\n\n![C++](https://img.shields.io/badge/c++-%2300599C.svg?style=flat-square\u0026logo=c%2B%2B\u0026logoColor=white)\n![Appwrite](https://img.shields.io/badge/Appwrite-%23FD366E.svg?style=flat-square\u0026logo=appwrite\u0026logoColor=white)\n![GitHub License](https://img.shields.io/github/license/pooranjoyb/cpp-sdk-appwrite?style=flat-square)\n![Version](https://img.shields.io/badge/api%20version-1.0.0-blue.svg?style=flat-square)\n\n![banner-appwrite](https://github.com/user-attachments/assets/63e7dbad-6a49-4b80-bee2-8e0a46601eec)\n\n## Overview\n\nThis **C++ SDK** is built from scratch as a **prototype** for interacting with Appwrite's backend services. \n- It allows users to perform a limited set of functionalities as of now,\n- including the **creation of databases, collections, and documents**,\n- while also enabling the **retrieval of usage statistics** and\n- management of **storage** and **account health**.\n\n**This SDK is compatible with Appwrite server version 1.6.x.**\n\n![Appwrite](https://github.com/appwrite/appwrite/raw/main/public/images/github.png)\n\n\n## Installation\n\n### Prerequisites\n\nBefore you begin, ensure that you have Conan installed on your system. You can install Conan using `pip`:\n\n```bash\npip install conan\n```\n\n### Build From Source Code\n\nClone the repository and run the following commands\n```bash\nmkdir build \u0026\u0026 cd build\nconan install .. --build=missing\ncmake ..\nmake\n```\n\nInstall the SDK.\n```bash\nsudo make install\n```\n\n## Getting Started\n\n### Make Your First Request\n\nSet the neccessary header files.\n```cpp\n#include \"Appwrite.hpp\"\n```\nOnce your SDK header is set, create the Appwrite service objects and choose the request to send.\n```cpp\n    std::string projectId = \"\u003cyour-project-id\u003e\";\n    std::string apiKey = \"\u003cyour-api-key\u003e\"; \n\n    Appwrite appwrite(projectId);\n\n    // for the Databases instance\n    Databases\u0026 databases = appwrite.getDatabases();\n```\n\n### Full Example\n```cpp\n#include \"Appwrite.hpp\"\n#include \u003ciostream\u003e\n\nint main() {\n    std::string projectId = \"\u003cyour-project-id\u003e\";\n    std::string apiKey = \"\u003cyour-api-key\u003e\"; \n    std::string databaseId = \"\u003cunique-database-id\u003e\";\n    std::string name = \"\u003cunique-database-name\u003e\";\n    bool enabled = true;\n\n    Appwrite appwrite(projectId, apiKey);\n    \n    std::string response = appwrite.getDatabases().create(databaseId, name, enabled);\n\n    return 0;\n}    \n\n```\n### Error Handling\n\nThe Appwrite C++ SDK raises `AppwriteException` object with `message`, `code` and `response` properties. You can handle any errors by catching `AppwriteException` and present the `message` to the user or handle it yourself based on the provided error information. Below is an example.\n\n```cpp\n    try {\n        // Send some request here\n    } catch (const AppwriteException\u0026 ex) {\n        std::cerr \u003c\u003c \"Exception: \" \u003c\u003c ex.what() \u003c\u003c std::endl;\n    }\n```\n\n### Compilation \u0026 Execution\n\n- ### Compile\n```bash\ng++ -o \u003coutput-file-name\u003e \u003cyour-file-name\u003e.cpp -I/usr/local/include/AppwriteSDK -L/usr/local/lib -lAppwriteSDK -lcurl\n```\n\n- ### Execute\n```bash\n./output-file-name\n```\n\nFor a more detailed view of the implementations, please check out the example directory. [Example](/examples/)\n\n### Learn more\nYou can use the following resources to learn more and get help\n- 🚀 [Getting Started Tutorial](https://www.youtube.com/watch?v=L1D-Ibe7XeU)\n- 📜 [C++ SDK Docs](/docs)\n\n\n## License \nThis project is licensed under the MIT License, and further details can be found in the [LICENSE](LICENSE) file.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpooranjoyb%2Fcpp-sdk-appwrite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpooranjoyb%2Fcpp-sdk-appwrite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpooranjoyb%2Fcpp-sdk-appwrite/lists"}