Getting started with Appwrite
Tags: appwrite, opensource, backend
Published: 2021-10-02 16:36:36

The goal of every developer is to create awesome apps. If you are a developer and are looking for alternatives of Firebase to take your mobile app development a notch higher, then you are in the right place. Go through this article as I introduce you to [**Appwrite**](https://appwrite.io/).

**Appwrite** is an **open-source** backend server that provides you with all the required tools and APIs to build web, flutter and native apps faster. Appwrite comes with built-in console and lots of security features. It helps you to manage your backend even **without writing a single line of code!!** 

![home page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4zus8zyu8foys0pan8c2.png) 

This article will show you the **practical reasons** to use Appwrite over other products and how to **install** it in Windows OS.

### 1. Free to use!! 💸

While Firebase offers an increasingly sophisticated array of services that takes care of various development requirements, it's not always the easiest, fastest, or more affordable option. If your app begins to scale significantly, you would have to upgrade from your free-tier plan and thus it becomes expensive.  

Since Appwrite is open-source, you can expect all future updates free to everyone. They have got majority of BaaS features and it keeps getting better with every release.

![for-free-adam-sandler](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2rnic3tc7710sbjtj5zq.gif) 

### 2. Community Support 💻

Since Appwrite is an open-source project they have their repository on [**GitHub**](https://github.com/appwrite/appwrite) with awesome developers all around the world. They are ready to help newcomers who want to contribute and get acquainted with their product. 
Their [**Discord**](https://appwrite.io/discord) community is friendly, active and helpful. You can ask your doubts without hesitating and over 100s of community members are online to answer your doubts.

![baby-yoda-baby](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/881mkqrixo70v6a28yhu.gif) 

### 3. Features of Appwrite ⚙

* **Store and query app documents with ACL easily:** It's pretty easy to store your app documents in NoSQL format and Appwrite will store it properly in backend side.  

* **Manage assets of your app and users:** It also manages different types of file formats of your application and users of your application such as images, PDFs, etc. 

* **Built-in Schedule Job Management:** It manages your CRON job (*the CRON command-line utility*) very efficiently.

* **Manages Users and Accounts with OAuth Providers:** Any backend is incomplete without the user roles and accounts, so Appwrite provides features to manage user accounts and roles. It even has a feature to manage teams. 

* **APIs for everything:** Appwrite tries to provide as many APIs as possible, so you can build your application easily and focus on the major parts of your application.  

* **Usage Data Statistics:**  You can easily see which projects take the most space, have the most requests, or use the most CPU time for function executions. You can also see how many errors happened to functions in the past, how many API requests have been made, check bandwidth usage on each project separately and debug most of problems quickly. 

* **Full Localization and Geo Support:** It also provides localization and geo support because of which you can customize the interface in your local language. It also detects your users location, locale and fetch GEO related data.

* **Highly Secure and Fully Scalable:** Since Appwrite is based on Docker container, it is very scalable and secure as containers are isolated in itself.

![its-nice-extra](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k2dmnto766lo7zhusp3s.gif) 

### How to install Appwrite in Windows 🖥

First and foremost requirement is that you should have Docker installed in your system, if you don't have Docker installed in your system, you cannot execute the app as it's container based.

![whale-docker](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/at5skc3u6z81xw6vf8ry.gif) 

So to check whether docker is installed, open `command prompt` in your system and type:

```
docker -v
```
In case, you don't have Docker installed, install it from their [**official website**](https://www.docker.com/products/docker-desktop).

If you have Docker installed, you need a single command to install Appwrite in your system. 

```cpp
docker run -it --rm ^
    --volume //var/run/docker.sock:/var/run/docker.sock ^
    --volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
    --entrypoint="install" ^
    appwrite/appwrite:0.10.4
```
After pulling the images, it will ask you to choose `server hostname`, `server HTTP port`, `server HTTPS port`, `CNAME target`, all the values here will be default so keep hitting `Enter` key. You can change these values later on.

![Appwrite successful installation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6vdt1iui75pgrhl8zi9.png) 

After installation, if you want to check whether it is successfully running, type: 
```
docker ps
```
Then you will see the list of containers successfully running.

After that, open your browser and type:
```
localhost 
```
Then you will see your Appwrite console popping up. 

![app console](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/45k79m5z5hsafns6kh0x.png)  

Then you would have to `Sign-up` as this is you first time using Appwrite. After signing up, you will see Appwrite Dashboard. 

![dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hej43kqp07sfkevsfw18.png)

You are in!! Now you can build your first project and checkout the cool features of Appwrite yourself.

### Resources

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

* [**Documentation**](https://appwrite.io/docs)

* [**Demo Tutorials**](https://appwrite.io/docs/getting-started-for-web)

* [**Video Tutorials**](https://www.youtube.com/c/ReactBits/videos)

* [**GitHub Repository**](https://github.com/appwrite)

* [**Discord Server**](https://appwrite.io/discord)

### Happy Appwriting📝!!