The generated app

The Generated App#

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.

note

You can see an example of an app generated with Amplication in this repository

https://github.com/amplication/sample-app

Technologies#

The generated app is built with the following proven open-source technologies:

Server-side#

  • 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.
  • Jest - delightful JavaScript Testing Framework with a focus on simplicity.
  • Docker - an open platform for developing, shipping, and running applications.

Client-Side#

  • ReactJS - A JavaScript library for building user interfaces.
  • Axios - Promise based HTTP client for the browser and node.js.
  • Formik - React hooks and components for hassle-free form validation.

Projects Structure#

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.

Server#

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.

Admin#

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.

Learn more#