Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions src/routes/docs/quick-starts/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

const quickStarts: QuickStarts = [
{
title: 'Web App',
title: 'Web app',
quickStarts: [
{
title: 'Next.js',
Expand Down Expand Up @@ -44,7 +44,7 @@
]
},
{
title: 'Mobile and Native',
title: 'Mobile and native',
quickStarts: [
{
title: 'Flutter',
Expand Down Expand Up @@ -75,24 +75,24 @@
image: '/images/blog/placeholder.png',
href: 'node'
},
// {
// title: 'Python',
// icon: 'icon-python',
// image: '/images/blog/placeholder.png',
// href: 'python'
// },
// {
// title: '.NET',
// icon: 'icon-dotnet',
// image: '/images/blog/placeholder.png',
// href: 'dotnet'
// },
// {
// title: 'Dart',
// icon: 'icon-dart',
// image: '/images/blog/placeholder.png',
// href: 'dart'
// }
{
title: 'Python',
icon: 'icon-python',
image: '/images/blog/placeholder.png',
href: 'python'
},
{
title: '.NET',
icon: 'icon-dotnet',
image: '/images/blog/placeholder.png',
href: 'dotnet'
},
{
title: 'Dart',
icon: 'icon-dart',
image: '/images/blog/placeholder.png',
href: 'dart'
}
]
}
];
Expand Down
5 changes: 4 additions & 1 deletion src/routes/docs/quick-starts/dart/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,17 @@ dart pub add dart_appwrite
{% /section %}
{% section #step-4 step=4 title="Import Appwrite" %}

Find your project ID in the **Settings** page. Also, click on the **View API Keys** button to find the API key that was created earlier.
Find your project ID in the **Settings** page.

{% only_dark %}
![Project settings screen](/images/docs/quick-starts/dark/project-id.png)
{% /only_dark %}
{% only_light %}
![Project settings screen](/images/docs/quick-starts/project-id.png)
{% /only_light %}

Also, click on the **View API Keys** button to find the API key that was created earlier.

Open `bin/my_app.dart` and initialize the Appwrite Client. Replace `<YOUR_PROJECT_ID>` with your project ID and `<YOUR_API_KEY>` with your API key.

```dart
Expand Down
204 changes: 204 additions & 0 deletions src/routes/docs/quick-starts/dotnet/+page.markdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
---
layout: article
title: Start with .NET
description: This is the description used for SEO.
---
Learn to setup your first .NET project powered by Appwrite.
{% section #step-1 step=1 title="Create project" %}
Head to the [Appwrite Console](https://cloud.appwrite.io/console).

If this is your first time using Appwrite, create an account and create your first project.

{% only_dark %}
![Create project screen](/images/docs/quick-starts/dark/create-project.png)
{% /only_dark %}
{% only_light %}
![Create project screen](/images/docs/quick-starts/create-project.png)
{% /only_light %}

Then, under **Integrate with your server**, add an **API Key** with the following scopes.

{% only_dark %}
![Server integrations](/images/docs/quick-starts/dark/integrate-server.png)
{% /only_dark %}
{% only_light %}
![Server integrations](/images/docs/quick-starts/integrate-server.png)
{% /only_light %}
| Category {% width=120 %} | Required scopes | Purpose |
|-----------|-----------------------|---------|
| Database | `databases.write` | Allows API key to create, update, and delete [databases](/docs/products/databases/databases). |
| | `collections.write` | Allows API key to create, update, and delete [collections](/docs/products/databases/collections). |
| | `attributes.write` | Allows API key to create, update, and delete [attributes](/docs/products/databases/collections#attributes). |
| | `documents.read` | Allows API key to create, update, and delete [documents](/docs/products/databases/documents). |
| | `documents.write` | Allows API key to read [documents](/docs/products/databases/documents). |

Other scopes are optional.

{% only_dark %}
![Project settings screen](/images/docs/quick-starts/dark/project-id.png)
{% /only_dark %}
{% only_light %}
![Project settings screen](/images/docs/quick-starts/project-id.png)
{% /only_light %}

{% /section %}
{% section #step-2 step=2 title="Create .NET project" %}
Create a .NET CLI application.

```sh
dotnet new console -o MyApp
cd MyApp
```

{% /section %}
{% section #step-3 step=3 title="Install Appwrite" %}

Install the .NET Appwrite SDK.

```sh
dotnet add package Appwrite
```
{% /section %}
{% section #step-4 step=4 title="Import Appwrite" %}

Find your project ID in the **Settings** page. Also, click on the **View API Keys** button to find the API key that was created earlier.

{% only_dark %}
![Project settings screen](/images/docs/quick-starts/dark/project-id.png)
{% /only_dark %}
{% only_light %}
![Project settings screen](/images/docs/quick-starts/project-id.png)
{% /only_light %}

Open the file `Program.cs` and initialize the Appwrite Client. Replace `<YOUR_PROJECT_ID>` with your project ID and `<YOUR_API_KEY>` with your API key.

```csharp
using Appwrite;
using Appwrite.Models;
using Appwrite.Services;

var client = new Client();

client
.SetEndpoint("https://cloud.appwrite.io/v1")
.SetProject("<YOUR_PROJECT_ID>")
.SetKey("<YOUR_API_KEY>");
```

{% /section %}
{% section #step-5 step=5 title="Initialize database" %}

Once the Appwrite Client is initialized, create a function to configure a todo collection.

```csharp
var databases = new Databases(client);

Database todoDatabase;
Collection todoCollection;

todoDatabase = await databases.Create(
databaseId: ID.Unique(),
name: "TodosDB"
);

todoCollection = await databases.CreateCollection(
databaseId: todoDatabase.Id,
collectionId: ID.Unique(),
name: "Todos"
);

await databases.CreateStringAttribute(
databaseId: todoDatabase.Id,
collectionId: todoCollection.Id,
key: "title",
size: 255,
required: true
);

await databases.CreateStringAttribute(
databaseId: todoDatabase.Id,
collectionId: todoCollection.Id,
key: "description",
size: 255,
required: false,
xdefault: "This is a test description"
);

await databases.CreateBooleanAttribute(
databaseId: todoDatabase.Id,
collectionId: todoCollection.Id,
key: "isComplete",
required: true
);
```

{% /section %}
{% section #step-6 step=6 title="Add documents" %}
Create a function to add some mock data into your new collection.
```csharp
var testTodo1 = new Dictionary<string, object>()
{
{"title", "Buy apples"},
{"description", "At least 2KGs"},
{"isComplete", true}
};

var testTodo2 = new Dictionary<string, object>()
{
{"title", "Wash the apples"},
{"isComplete", true}
};

var testTodo3 = new Dictionary<string, object>()
{
{"title", "Cut the apples"},
{"description", "Don't forget to pack them in a box"},
{"isComplete", false}
};

await databases.CreateDocument(
databaseId: todoDatabase.Id,
collectionId: todoCollection.Id,
documentId: ID.Unique(),
data: testTodo1
);

await databases.CreateDocument(
databaseId: todoDatabase.Id,
collectionId: todoCollection.Id,
documentId: ID.Unique(),
data: testTodo2
);

await databases.CreateDocument(
databaseId: todoDatabase.Id,
collectionId: todoCollection.Id,
documentId: ID.Unique(),
data: testTodo3
);
```

{% /section %}
{% section #step-7 step=7 title="Retrieve documents" %}

Create a function to retrieve the mock todo data.

```csharp
var todos = await databases.ListDocuments(
databaseId: todoDatabase.Id,
collectionId: todoCollection.Id
);

foreach (var todo in todos.Documents)
{
Console.WriteLine($"Title: {todo.Data["title"]}\nDescription: {todo.Data["description"]}\nIs Todo Complete: {todo.Data["isComplete"]}\n\n");
}
```

{% /section %}

{% section #step-8 step=8 title="All set" %}

Run your project with `dotnet run` and view the response in your console.

{% /section %}
9 changes: 9 additions & 0 deletions src/routes/docs/quick-starts/node/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ Head to the [Appwrite Console](https://cloud.appwrite.io/console).

If this is your first time using Appwrite, create an account and create your first project.

{% only_dark %}
![Create project screen](/images/docs/quick-starts/dark/create-project.png)
{% /only_dark %}
{% only_light %}
![Create project screen](/images/docs/quick-starts/create-project.png)
{% /only_light %}

Then, under **Integrate with your server**, add an **API Key** with the following scopes.

{% only_dark %}
Expand Down Expand Up @@ -57,6 +64,7 @@ Find your project ID in the **Settings** page. Also, click on the **View API Key
{% only_light %}
![Project settings screen](/images/docs/quick-starts/project-id.png)
{% /only_light %}

Create a new file `app.js` and initialize the Appwrite Client. Replace `<YOUR_PROJECT_ID>` with your project ID and `<YOUR_API_KEY>` with your API key.

```js
Expand Down Expand Up @@ -121,6 +129,7 @@ async function prepareDatabase() {
{% /section %}
{% section #step-6 step=6 title="Add documents" %}
Create a function to add some mock data into your new collection.

```js
async function seedDatabase() {
var testTodo1 = {
Expand Down
Loading