DEV Community

Cover image for Exploring Appwrite
Asmit Malakannawar
Asmit Malakannawar

Posted on • Updated on

Exploring Appwrite

So, as you read in my previous blog post that, Appwrite is a backend platform which allows you to automatically generate API services for your applications, without even writing a single line of code!! You don't need to worry about your backend services as Appwrite handles it for you.

Moving on, in this blog post, I will tell you about the services offered by Appwrite and scratch the surface on how to use them followed by a small tutorial.

Untitled

Basic Services provided by Appwrite

1. Database:

Appwrite offers an easy-to-use , document-based database API for storing your app's data. It allows you to store documents in NoSQL format. This service lets you integrate with your users and app data directly from your client app, whether itโ€™s a browser or a native app.

More about Appwrite Database here.

2. Users:

This service allows you to manage user accounts on the Appwrite platform. You don't need to manually manage user accounts, Appwrite does that for you.

Don't confuse this with Accounts service as Accounts API works when the user is currently logged in and is usually using a client-side integration.

More about Appwrite Users here.

3. Storage:

This service allows you to manage all your project files securely and simply. Using this service you can upload, view, download and query all your files. It also has a integrated Anti-Virus which scans all the new files that are uploaded to your system, to keep you and your users safe.

More about Appwrite Storage here.

4. Tasks:

Tasks service is basically like CRON Jobs. It manages all background related jobs for you. If you want to automate certain job or if you want to automate certain piece of code at a particular time, the Task will help you.

Inside your Appwrite console, you can view all your tasks, their current statuses, previous and next runtime and a response log to view the result of previous executions.

More about Appwrite Tasks here.

5. Webhooks:

Webhooks provides a way to invoke the code at a particular event. That event could be creation of user accounts, updation of user accounts, document in the database is created or deleted. All these events can be linked with Webhooks.

They are basically URLs which gets invoked when CRUD Operations (Create, Read, Update, and Delete) take place on the Databases, Users and Storage services. Webhooks are designed to allow you to integrate custom behavior for your back end, easily and conveniently.

More about Appwrite Webhooks here.

6. Health:

Health service is basically used for checking health status of Appwrite's system. It allows you to manage cache, database connectivity, storage file systems, etc. It checks whether your Appwrite server instance and all of its internal components are up and responsive.

More about Appwrite Health here.

Demo

Now that you have read about the basic services, let me show you a quick and easy demo which you can perform, to play around with Appwrite's services and explore them.

  • Sign in into your Appwrite instance.

Appwrite dashboard

As you can see, the Console has a Create Project option. In Appwrite, each project contains set of Services (discussed above). So projects act as a container for all the services.

  • Click on Create Project, give you project a name. In my case it's Notes.

Create Project

Now a Dashboard opens with all the services which are available. In the left panel, you can see the services offered by Appwrite. The main dialog box shows the current stats of your Project.

Main Dashboard

  • Now, the first thing, we'll do is Add a Platform. The platform we will be adding is Web App.

Web App

Name your Web App and enter the localhost as 127.0.0.1.

  • Now the first service we would be discovering is Database. Click Database on left panel and a new dashboard appears. The first thing you have to do is create a Collection. Create and name your Collection by clicking Add Collection button.

Create Collection

Now we have to add Rules for this collection. Rules are the fields with datatypes, which stores the data in the Collection.
We'll be adding three rules i.e. Title(text), Content(text) and a Checkbox(boolean).

Creating Rules

For Permissions, use * for the time being. That means giving permission to everyone.

  • Now that you have created your Collection, you can start adding data now. Go to Documents tab and click on Add Document. The fields which we have created are shown here.

Create Task

After adding a document, you can see it on your Documents tab. Similarly you can add more Documents.

Created tasks

  • Now, let's explore Storage service. This is pretty simple service. It allows you to upload and store the files. You can upload any type of file format.

Storage Dashboard

Storage

  • Now click on Users option in left pane. Users option basically allows you to add users to your Project. They can read and write your files, on the basis of what permissions you have enabled on the file.

Screenshot (184)

You can also see user's sessions and activity logs on your Project. And in the Users settings you can enable different types of authentications starting from basic email-id and password to OAuth2 Providers. You have a lot of options to choose from.

User profile

So, by following this demo, you just scratched the surface of Appwrite and it's services. You will be using a lot of other services like Webhooks, Functions, API Keys, Tasks, while building a real world application.

What's Next?

These are some resources, from which you can read the documentations, go through tutorials, build your own apps, connect with developers etc.

Happy Appwriting๐Ÿ“!!

Discussion (2)

Collapse
pretty19 profile image
Loveena Saran

Hi Asmit is the hostname 127.0.01 or 127.0.0.1 ?

Collapse
asmit2952 profile image
Asmit Malakannawar Author

It's 127.0.0.1, my bad. Thanks for pointing that out๐Ÿ‘