The Open-Source Development Platform: Introducing Amplication

Open SourceNode.jsAPIGraphQL API
Yuval hazaz
Yuval hazaz
Feb 5, 2022
The Open-Source Development Platform: Introducing AmplicationThe Open-Source Development Platform: Introducing Amplication

Create server-side applications, in a snap.

Amplication is an open-source backend development platform. It enables you to develop quality Node.js applications without spending time on repetitive coding tasks.

The buzzword “low code” has been floating around for some time now, referring to tools that are designed to solve these problems of repetitive server-side tasks and boilerplate code.

There are some great tools out there, ranging from No-Code solutions such as Airtable,bubble.io to Low-Code services aimed at professional developers such as Firebase and Appwrite. The differences are in the trade-off between the simplicity of getting the desired result and the level of freedom and control developers have when coding.

What is Amplication?

Amplication is an open-source development tool. It helps you develop quality Node.js applications without spending time on repetitive coding tasks.

With Amplication, you can develop a fully functional backend within minutes. You just need to define your data models, roles, and permissions, and Amplication will generate a TypeScript Node.js application with everything you need already baked in: fully functional REST API and GraphQL API for all your data models, authentication, role-based authorization, logging, and even an admin UI.

Developers can download the generated source code and start utilizing their skill set to freely customize their application.

So how does the Amplication open-source development platform work?

As a free, open-source project, Amplication offers developers immediate access to a full-featured account to start developing their next Node.JS application. Of course, developers can also freely download the project source code and run their own local Amplication server.

With professional developers in mind, we created a beautiful UI with a straightforward flow to define data models and permission schema. Packed with all the shortcuts we love, and the version control methodologies we know, developers need only a few clicks to get a production-ready app.

Amplication offers the following building blocks:

Data model (entities)

ERD Config.png

The data model is where all the information about your app is stored. You can easily add new entities to describe your application and the data it manages. Each entity has a set of fields and properties, and you can set its relation to other entities.

Roles

Roles define functions in your applications, such as administrator, branch manager, or customer support specialist. Each role has a collection of permissions that describes the data it can access and actions it can perform. Users can be assigned easily with multiple roles in your application.

When creating entities, you should specify which roles can perform which actions (Create, View, Update, Delete, and Search) on the entity or on any of its fields. These permissions will be enforced automatically throughout your application without further ado.

REST & GraphQL API

Once you have created the entities and roles, a full-featured RESTful API and GraphQL API are automatically generated for you. You can easily access the APIs and start using your application with any standard technology and from any client application.

Admin UI

Start working with your application immediately. Amplication generates a React client with ready-made forms for creating and editing all the data models of your application.

The React app is pre-configured with your back-end and already has all the boilerplate and foundation of your client, including routing and navigation, authentication, permissions, menu, breadcrumbs, error handling, and much more.

Sync with Github

Amplication can push your app code to a GitHub repository. Every app developed on the Amplication platform is translated to a human-readable TypeScript Node.js app which can be synced with your private Github repository.

This feature allows you to:

  • Continuously push your app changes to your private repository
  • Keep using your favorite IDE
  • Continue developing using the tech stack you master (no need to learn new skills)
  • Control and validate changes before merge
  • Use GitHub as version control to track changes and rollback

Deploy & publish

commit changes When working with Amplication, all your committed changes are continuously deployed to a sandbox environment on the Amplication cloud so you can easily access your app for testing and development purposes.

Also, you can easily build a Docker container to prepare your app for deployment. Your app is always generated with all the configuration and scripts needed to do so.

Code generation

Save time on boilerplate and repetitive tasks with low-code but keep working on your core business logic with pro-code.

Amplication generates human-readable and human-editable Node.js applications for the back-end and React application for the client. The applications are generated with high-standard TypeScript that you can easily customize and make your own.

Version control

Amplication provides built-in version control for everything you do. Easily make changes and publish a new version or roll back to a previous version.

Own your app and data

You always own your application and data, so you can choose how to deploy them and where you want to work on them. Host your application on public cloud, or on your private cloud, or even on-premises.

No lock-in

You can always choose to eject from the Amplication environment and continue the development of your application using classic coding skills. Our generated code is human-readable and human-editable, in accordance to industry standards and best practices. You’ll love it!

Start your Node.js app development with Amplication today.

Join Amplication's open-source community

Join us in building the next generation of development tools by visiting our open source community page or our repo on GitHub.