Create table
In Appwrite, data is stored as a table of rows. Create a table inside a database in the Appwrite Console to store our ideas.


Create the following columns within the table:
Field | Type | Size | Required |
userId | String | 36 | Yes |
title | String | 128 | Yes |
description | String | 1024 | No |
For this tutorial, we'll also set the permissions to allow any users to read and write to the table. In a real-world scenario, you would probably want to restrict access to a certain group of users.
Managing ideas
Now that you have a table to hold ideas, we can read and write to it from our app.
Let's create some methods to manage ideas in our app.
Create a new file src/lib/ideas.js
and add the following code:
Web
import { ID, Query } from 'appwrite';
import { databases } from '$lib/appwrite';
const IDEAS_DATABASE_ID = '<YOUR_DATABASE_ID>'; // Replace with your database ID
const IDEAS_TABLE_ID = '<YOUR_TABLE_ID>'; // Replace with your table ID
export async function getIdeas() {
return await tablesDB.listRows(
IDEAS_DATABASE_ID,
IDEAS_TABLE_ID,
// Use a query to show the latest ideas first
[Query.orderDesc('$createdAt')]
);
}
export async function addIdea(userId, title, description) {
await tablesDB.createRow(IDEAS_DATABASE_ID, IDEAS_TABLE_ID, ID.unique(), {
userId,
title,
description
});
}
export async function deleteIdea(id) {
await tablesDB.deleteRow(IDEAS_DATABASE_ID, IDEAS_TABLE_ID, id);
}
Remember to use a store to hold data returned from Appwrite Databases, so your components can be updated when the data changes.