Amplication - Creating your First Service
Tags: node, beginners, tutorial, opensource
Published: 2022-10-09 12:09:26

## What is Amplication?

<a href="https://amplication.com/">Amplication</a> is an open-source flexible tool for developing a full-fledged backend for an application within minutes. Developers only have to create data models and do the configuration using their interactive UI or CLI, and Amplication will generate a NodeJS application with fully functional REST APIs along with an Admin UI, based on the data models, authentication, and role-based authorization done while configuring the application. It also allows the developers to download the generated code and customize it according to them into the application.

![Amplication](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6crowh7iy8m4fxwo8rt9.png)

## Step 1: Creating a New Service

- Log in to https://app.amplication.com/.
- Click on the **_Amplication logo_** on the top-left corner to land on the **_Projects_** page.

![Projects Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fdz98nny2iy1h2kun5g1.png)

- You can change the **_Workspace_** by selecting or creating a new one in the left pane of the Projects page.

![Workspace Pane](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ssbcpghlvcs69ceiz98i.png)

- Now, to create a new service, click on the **_Add Resource_** button on the top-right section and from the drop-down select **_Service_**.

![Create Service option](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/912770cjszakj1ohyk5u.png)

- In the **_New Service page_**, leave everything as default and click **_Create Service_** at the bottom-right corner to create an **_Empty Service_**.

![New Service page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/floeoceu3uvyqm7d4wl8.png)

- Upon clicking the Create Service button, the page reloads and brings you to the **_Service Overview page_**.

![Service Overview Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e1v5doehnt68rl6xwc1d.png)

## Step 2: Create an Enitity

- In the **_Service Overview Page_**, under **_Entities_**, click on **_Go to Entities_** to visit the Entities Page. You can also click on the Entities icon in the left side bar.

- Once on the Entities Page, click on **_Add Entity_** to create a new entity.

![Entities Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ral90oypwztlq3vgx75e.png)

- In the New Entity dialog, type "Project" as the name of the entity and then click **_Create Entity_**.

![Create Entity dialog](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p1culn4cmsimwzplc365.png)

- You will see that 3 fields, namely, **_ID_**, **_Created At_** and **_Updated At_** have been created for you by default. You can add more fields by typing a field name in the **_Add Field_** box and then clicking **_+_**.

- Create fields **_Name_**, **_Description_**, **_Start Date_** and **_Owner_** by typing each field name and clicking +.

![Add Name](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fjp0p9xgj7473qbh03uc.png)

![Add Description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6v6vb60zxebzewy7jjc7.png)

![All fields added](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1yrwckl6wv1wj8iy11yr.png)


## Step 3: Connect to Github

- Click on Connect to Github at the bottom-left corner of the screen.

![Connect to Github](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bijpyn2fo3uex9v2bcvb.png)

- You should appear at the **_Sync with Github_** page. Now click on **_Connect to Github_**.

![Sync with Github](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4tpj9e7zx5xykjxwmwb6.png)

- You'll have to authenticate Github with Amplication. The popup window will allow you to download Amplication in a selected repository of your choice, available on your Github account.

![Github authentication](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/siydia0z3vzz8in1nhse.png) 

- Upon selecting the repository, click **_Install_**. Your service gets synced with the repository you've selected.

- Back in Sync with Github page, click on **_Select Repository_** and select the one you have selected earlier in the popup dialog box.

![Select Repository](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tf8kbq8j8lnk93dr2lk6.png)


## Step 4: Commit you Changes

- On the right side of the screen, you'll observe a Pending Changes panel. This panel lists all the changes you've made to your service which are not committed to your Github repository.

![Pending Changes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xk5kshl51tasd6qtjckd.png)

- Click on **_Commit changes and build_**. All changes will be committed. A build of the first version of your service is automatically created!

- Go to your Github repository and visit the **_Pull Requests_** section. You'll be able to view the Pull Request made by Amplication to your repository. Click on the Pull Request and click **_Merge pull request_**.

![Pull request](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7v3x9f9qe6pdvxueyuqw.png)

- Back in the Amplication site, you can click on **_Go to view code_** to view the code committed to your Github repo.

![View Code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bjxw0j7lfz05xdwu9kpv.png)

## Conclusion

Amplication is a relatively new platform and there's lot of scope for it to succeed. For more information you can always go through their <a href="https://docs.amplication.com/docs/">Documentaion</a>. To contribute to Amplification, check out their <a href="https://github.com/amplication/amplication">repository on github</a>. To join their community, join their <a href="https://discord.gg/Z2CG3rUFnu">Discord server</a>.