Amplication auto-generates fully functional human-readable and editable apps based on TypeScript and Node.js.
Generated apps include NestJS, Prisma, REST API, GraphQL API, a React admin UI, authentication, authorization, and logging.
In this article you will find the details on the structure of the application and the technologies behind it.
You can see an example of an app generated with Amplication in this repository
The generated app is built with the following proven open-source technologies:
- NestJS - A progressive Node.js framework for building efficient, reliable and scalable server-side applications.
- Prisma - Next-generation ORM for Node.js and TypeScript.
- PostgreSQL - The World's Most Advanced Open Source Relational Database
- Passport - Simple, unobtrusive authentication for Node.js
- GraphQL - a query language for APIs.
- Swagger UI - Visual documentation for REST API based on OpenAPI Specification.
- Docker - an open platform for developing, shipping, and running applications.
- Axios - Promise based HTTP client for the browser and node.js.
- Formik - React hooks and components for hassle-free form validation.
The generated app is built from two projects, each in a separate folder
- Server - For all the server components including REST API, GraphQL, Services and more.
- Admin - For the Admin UI including forms for CRUD operations on all data models.
The server project provides all the back-end services of your application, like REST API, GraphQL API, authentication, authorization, logging, data validation, and connection to the database.
The Admin project provide a React application with ready-made forms for creating and editing all the data models of your application. The React app is pre-configured to work with the server and comes with all the boilerplate and foundation for your client - routing and navigation, authentication, permissions, menu, breadcrumbs, error handling and much more.