Simple examples that help you get started with Appwrite + Dart (=❤️) as an Appwrite server-side integration.

Overview

Playground for Dart

Simple examples that help you get started with Appwrite + Dart (= ❤️ )

This is Appwrite server side integration with Dart. For Flutter integration please look at our Flutter playground and Flutter SDK

Work in progress

Appwrite playground is a simple way to explore the Appwrite API and Appwrite Dart SDK. Use the source code of this page to learn how to use different Appwrite Dart SDK features.

Get Started

This playground doesn't include any dart best practices, but rather intended to show some of the most simple examples and use cases of using the Appwrite API in your dart application.

System Requirements

  • A Linux/Windows/Mac system with Dart or Flutter installed
  • You have readily available Appwrite running instance (localhost in most cases).
  • Create a project in Appwrite instance using console
  • Generate a secret key in the Appwrite instance using console

Installation

  1. Clone this repository
  2. cd into the repository
  3. Open main.dart file found in the root of the cloned repository
  4. Copy the project_id, endpoint, secret key from the Appwrite Console
  5. Update project_id, endpoint, secret key by copying from the console in the main.dart file
  6. Execute the command dart run main.dart
  7. You will see the JSON response in the console

API Covered in Playground.

  • Create Collection
  • List Collection
  • Add Document
  • List Documents
  • Upload File
  • Create User
  • List User

Contributing

All code contributions - including those of people having commit access - must go through a pull request and approved by a core developer before being merged. This is to ensure proper review of all the code.

We truly ❤️ pull requests! If you wish to help, you can learn more about how you can contribute to this project in the contribution guide.

Security

For security issues, kindly email us [email protected] instead of posting a public issue in GitHub.

Follow Us

Join our growing community around the world! Follow us on Twitter, Facebook Page, Facebook Group or join our Discord Server for more help, ideas and discussions.

You might also like...

Flutter codelab examples

Flutter codelabs This repository contains the code for a variety of Flutter Codelabs. Here is a list of the codelabs represented here: Adding Google M

Dec 30, 2022

This repo contains the side menu UI for admin template

f9tech A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this i

Dec 11, 2021

Flutter application for meditell admin side

meditell_admin Flutter application for meditell admin side Getting Started This project is a starting point for a Flutter application. A few resources

Nov 24, 2021

Server that provide API to simple note application

Server that provide API to simple note application

note-app-api-mobile end-to-end note application API Golang for the web application MongoDB for the database PostMan requests Collection Flutter simple

Oct 4, 2022

Petit httpd - This is a simple HTTP file server integrated with Let's Encrypt, gzip and CORS

Petit httpd - This is a simple HTTP file server integrated with Let's Encrypt, gzip and CORS

Nov 24, 2022

This is a Yoga app made in Flutter. This is an integration of a model that i found on https://www.uistore.design.

Yoguha A Flutter project made with Firebase that helps you for your next Yoga sessions. It contains : An authentication system A timer Some relaxing p

Feb 1, 2022

This is an example project for Firebase integration using flutter.

This is an example project for Firebase integration using flutter.

Flutter Firebase Integration Example Project In this video we have shown how to create #Firebase app from firebase console and integrate that into #Fl

Jul 28, 2022

Plugin with native integration for WebSocket.

NOTE: This repository is no longer maintained by ENGAPP. It was moved to be maintained by Kunlatek on the following link: https://github.com/kunlatek/

Sep 22, 2022

A basic implementation of the robot testing pattern for integration/e2e tests

robot A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this is

Dec 13, 2021
Comments
  • Upgrade our issue templates to use GitHub issue forms ✍️

    Upgrade our issue templates to use GitHub issue forms ✍️

    Introduction

    GitHub has recently rolled out a public beta for their issue forms feature. This would allow you to create interactive issue templates and validate them 🤯.

    Appwrite currently uses the older issue template format. Your task is to create GitHub issue forms for this repository. Please use Appwrite's issue templates as a reference for this PR.

    Tasks summary:

    • [ ] Fork & clone this repository
    • [ ] Prepare bug report issue form in .github/ISSUE_TEMPLATE/bug.yaml
    • [ ] Prepare documentation issue form in .github/ISSUE_TEMPLATE/documentation.yaml
    • [ ] Prepare feature request issue form in .github/ISSUE_TEMPLATE/feature.yaml
    • [ ] Push changes to master and test issue forms on your fork
    • [ ] Submit pull request

    If you need any help, reach out to us on our Discord server.

    Are you ready to work on this issue? 🤔 Let us know, and we will assign it to you 😊

    Happy Appwriting!

    good first issue hacktoberfest 
    opened by Meldiron 7
  • Upgrade issue templates to use GitHub issue forms

    Upgrade issue templates to use GitHub issue forms

    What I did

    Create GitHub issue forms for this repository using Appwrite's issue templates as a reference for this PR.

    Tasks Completed:

    • [x] Fork & clone this repository
    • [x] Prepare bug report issue form in .github/ISSUE_TEMPLATE/bug.yaml
    • [x] Prepare documentation issue form in .github/ISSUE_TEMPLATE/documentation.yaml
    • [x] Prepare feature request issue form in .github/ISSUE_TEMPLATE/feature.yaml
    • [x] Push changes to master and test issue forms on your fork
    • [x] Submit pull request

    Additional Info

    Reused Appwrite's issue templates but changed some emoji for user-friendliness.

    This PR closes #7

    Thank you ❤️

    hacktoberfest-accepted 
    opened by JubayerJoy 6
  • Update SDK for Appwrite 1.0.X

    Update SDK for Appwrite 1.0.X

    What does this PR do?

    Update SDK for Appwrite 1.0.X.

    Test Plan

    Manual Test:

    $ dart main.dart
    Running Create Database API
    {$id: 632b926327d04fed969f, name: Movies DB, $createdAt: 2022-09-21T22:38:27.163+00:00, $updatedAt: 2022-09-21T22:38:27.163+00:00}
    Running List Databases API
    {total: 3, databases: [{$id: 6323bde1b647e183440f, name: Default, $createdAt: 2022-09-16T00:05:53.746+00:00, $updatedAt: 2022-09-16T00:05:53.746+00:00}, {$id: 6323bdfff13b52c259be, name: Default, $createdAt: 2022-09-16T00:06:23.988+00:00, $updatedAt: 2022-09-16T00:06:23.988+00:00}, {$id: 632b926327d04fed969f, name: Movies DB, $createdAt: 2022-09-21T22:38:27.163+00:00, $updatedAt: 2022-09-21T22:38:27.163+00:00}]}
    Running create collection API
    {$id: 632b9263909c752cd841, $createdAt: 2022-09-21T22:38:27.593+00:00, $updatedAt: 2022-09-21T22:38:27.593+00:00, $permissions: [read("any"), create("any"), update("any"), delete("any")], databaseId: 632b926327d04fed969f, name: Movies, enabled: true, documentSecurity: true, attributes: [], indexes: []}
    Running list collection API
    {$id: 632b9263909c752cd841, $createdAt: 2022-09-21T22:38:27.593+00:00, $updatedAt: 2022-09-21T22:38:27.593+00:00, $permissions: [read("any"), create("any"), update("any"), delete("any")], databaseId: 632b926327d04fed969f, name: Movies, enabled: true, documentSecurity: true, attributes: [{key: name, type: string, status: available, required: true, array: false, size: 60, default: null}, {key: release_year, type: integer, status: available, required: true, array: false, min: -9223372036854775808, max: 9223372036854775807, default: null}], indexes: []}
    Running Add Document API
    {name: Spider Man, release_year: 1920, $id: 632b9264519a65642501, $permissions: [read("any"), update("any")], $createdAt: 2022-09-21T22:38:28.334+00:00, $updatedAt: 2022-09-21T22:38:28.334+00:00, $collectionId: 632b9263909c752cd841, $databaseId: 632b926327d04fed969f}
    Running List Document API
    {total: 1, documents: [{$id: 632b9264519a65642501, $collectionId: 632b9263909c752cd841, $databaseId: 632b926327d04fed969f, $createdAt: 2022-09-21T22:38:28.334+00:00, $updatedAt: 2022-09-21T22:38:28.334+00:00, $permissions: [read("any"), update("any")], data: {name: Spider Man, release_year: 1920, $id: 632b9264519a65642501, $createdAt: 2022-09-21T22:38:28.334+00:00, $updatedAt: 2022-09-21T22:38:28.334+00:00, $permissions: [read("any"), update("any")], $collectionId: 632b9263909c752cd841, $databaseId: 632b926327d04fed969f}}]}
    Running Delete Document API
    Document deleted: 632b926327d04fed969f
    Running delete collection API
    collection deleted: 632b9263909c752cd841
    Running Delete Database API
    Running create bucket API
    Bucket created: 632b92653c34c3fde7b9
    Running list buckets API
    Buckets: {$id: 632b92653c34c3fde7b9, $createdAt: 2022-09-21T22:38:29.246+00:00, $updatedAt: 2022-09-21T22:38:29.246+00:00, $permissions: [], fileSecurity: true, name: my awesome bucket, enabled: true, maximumFileSize: 10000000, allowedFileExtensions: [], compression: none, encryption: true, antivirus: true}
    Running Upload File API
    File uploaded: {$id: 632b9265c1268b1b1acc, bucketId: 632b92653c34c3fde7b9, $createdAt: 2022-09-21T22:38:29.796+00:00, $updatedAt: 2022-09-21T22:38:29.796+00:00, $permissions: [read("any"), update("any")], name: nature.jpg, signature: f1f434b689dd56e5fbd291d479320b9a, mimeType: image/jpeg, sizeOriginal: 16207, chunksTotal: 1, chunksUploaded: 1}
    Running Delete File API
    File deleted: 632b9265c1268b1b1acc
    Running Delete bucket API
    Bucket deleted: 632b92653c34c3fde7b9 
    Running Create User API
    {$id: 632b92664fdf3f1f9f0b, $createdAt: 2022-09-21T22:38:30.789+00:00, $updatedAt: 2022-09-21T22:38:30.789+00:00, name: Some user, password: $argon2id$v=19$m=65536,t=4,p=3$WUNMTzRFeHF6Vjg0QVZkdA$kIcNQ0oa3owJXS2upjFy1UvSrN3tWTqur0Bo2Zx8oEc, hash: argon2, hashOptions: {memoryCost: 2048, timeCost: 4, threads: 3}, registration: 2022-09-21T22:38:30.788+00:00, status: true, passwordUpdate: 2022-09-21T22:38:30.788+00:00, email: [email protected], phone: , emailVerification: false, phoneVerification: false, prefs: {data: {}}}
    Running List User API
    {total: 1, users: [{$id: 632b92664fdf3f1f9f0b, $createdAt: 2022-09-21T22:38:30.789+00:00, $updatedAt: 2022-09-21T22:38:30.789+00:00, name: Some user, password: $argon2id$v=19$m=65536,t=4,p=3$WUNMTzRFeHF6Vjg0QVZkdA$kIcNQ0oa3owJXS2upjFy1UvSrN3tWTqur0Bo2Zx8oEc, hash: argon2, hashOptions: {memoryCost: 2048, timeCost: 4, threads: 3}, registration: 2022-09-21T22:38:30.788+00:00, status: true, passwordUpdate: 2022-09-21T22:38:30.788+00:00, email: [email protected], phone: , emailVerification: false, phoneVerification: false, prefs: {data: {}}}]}
    Running delete user
    user deleted
    Running Create Function API
    {$id: 632b926751f6528a43bc, $createdAt: 2022-09-21T22:38:31.336+00:00, $updatedAt: 2022-09-21T22:38:31.336+00:00, execute: [], name: test function, enabled: true, runtime: php-8.0, deployment: , vars: [], events: [], schedule: , scheduleNext: , schedulePrevious: , timeout: 15}
    Running List Functions API
    {total: 3, functions: [{$id: maf, $createdAt: 2022-09-15T19:02:51.999+00:00, $updatedAt: 2022-09-15T19:04:20.015+00:00, execute: [users], name: My Awesome Function, enabled: true, runtime: dart-2.16, deployment: , vars: [{$id: 632376ef175e7562c876, $createdAt: 2022-09-15T19:03:11.095+00:00, $updatedAt: 2022-09-15T19:03:11.095+00:00, key: TEST, value: test, functionId: maf}, {$id: 6328e0139e442adb18dc, $createdAt: 2022-09-19T21:33:07.648+00:00, $updatedAt: 2022-09-19T21:33:07.648+00:00, key: asdf, value: asdf, functionId: maf}], events: [], schedule: , scheduleNext: , schedulePrevious: , timeout: 15}, {$id: py, $createdAt: 2022-09-20T17:39:00.774+00:00, $updatedAt: 2022-09-20T17:39:29.862+00:00, execute: [], name: py, enabled: true, runtime: python-3.9, deployment: 6329fabd18d9cf130d37, vars: [], events: [], schedule: , scheduleNext: , schedulePrevious: , timeout: 15}, {$id: 632b926751f6528a43bc, $createdAt: 2022-09-21T22:38:31.336+00:00, $updatedAt: 2022-09-21T22:38:31.336+00:00, execute: [], name: test function, enabled: true, runtime: php-8.0, deployment: , vars: [], events: [], schedule: , scheduleNext: , schedulePrevious: , timeout: 15}]}
    Running Delete Function API
    Function deleted
    

    Related PRs and Issues

    None

    Have you read the Contributing Guidelines on issues?

    Yes

    opened by stnguyen90 0
Owner
Appwrite
End to end backend server for frontend and mobile developers. 👩‍💻👨‍💻
Appwrite
server side dart micro-framework to handle incoming http requests

Queen Palace ???? Introduction server side dart micro-framework to handle incoming http requests

Ahmed Masoud 32 Aug 30, 2022
An expressive, functional, and full-featured server-side framework for Dart.

A framework and collection of packages for writing http servers, built on top of the shelf package. This framework is intended to reduce the technical

Marathon 45 Jun 25, 2022
Concepts used Flutter layout,State management, Blockchain integration, Http api integration, Smart contracts

HS_CryptoCoin_Wallet First project using Flutter with Blockchain Getting Started This project is a starting point for a Flutter application. A few res

Harsh Saxena 1 Dec 23, 2021
Server-side timer project using WebSockets(with Socket.IO), NestJS and Flutter

Documentation Full documentation and the article series can be found here, Article on dev.to Output Setup Run Locally Clone the project git clone ht

Rukshan J. Senanayaka 9 Dec 26, 2022
A discord bot, made with Dart, which lets you run your own pure Dart code snippets directly via a discord ping, and get the output in an instant.

A discord bot, made with Dart, which lets you run your own pure Dart code snippets directly via a discord ping, and get the output in an instant.

Anikate De 3 Oct 21, 2022
Algorithm Toolbox is an Android app for C++, Python and DART algorithms. It shows the codes as well as its explanation with various examples.

AlgoKing Algorithm Toolbox is an Android app for C++, Python and DART algorithms. It shows the codes as well as its explanation with various examples.

Hash Studios 5 Sep 13, 2022
A basic demo example for integrating between Appwrite & Flutter 💙

?? Quiz With Flutter A simple Quiz App built with Flutter and Appwrite ?? Getting Started ?? Install Appwrite Follow our simple Installation Guide to

Appwrite 35 Nov 22, 2022
A Netflix clone built with @appwrite + @flutter

Almost Netflix - Flutter Requirements Before using this project, you will need to have Appwrite instance with Almost Netflix project ready. You can vi

Appwrite 49 Dec 26, 2022
Paginates appwrite collections.

Appwrite Pagination Provides paginatation functionality on appwrite collections. Option to cache or paginate documents of a collection. Sort documents

Pa Ka 2 Sep 9, 2022
A collection of Flutter examples and demos.

Flutter samples A collection of open source samples that illustrate best practices for Flutter. Visual samples index The easiest way to browse through

Flutter 14.1k Jan 7, 2023