/amplication

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

Primary LanguageTypeScriptApache License 2.0Apache-2.0

amplication-logo

Docs Twitter

Node.js CI Discord Contributor Covenant License GitHub release (latest by date)

All Contributors

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

Amplication auto-generates backend apps built with TypeScript and Node.js, and a client built with React.

Features

Build database applications with:

  • Data models managed visually or through CLI
  • Auto-generated human-editable source code
  • Node.js server built with Nest.js and Passport
  • REST API and GraphQL for CRUD with relations, sorting, filtering, pagination
  • Custom code generated app
  • Admin UI built with React-Admin
  • Role-based access control
  • Docker and docker-compose integration
  • Automatic push of the generated code to your GitHub repo

Getting Started

You can get started with Amplication immediately on the Amplication Cloud.

Alternatively you can set up a local development environment.

See Amplication website or Amplication docs for more details.

Watch this video for a quick recap of everything you get with Amplication.

Amplication Cloud (SaaS)

Launch Amplication from app.amplication.com

Development Environment (Local)

Initializing all the packages

Amplication is using a mono-repo with multiple packages. To initialize all the packages on a local development environment, including running a docker image for the DB and seeding the DB.

  1. Execute the following commands in the project root folder:
npm install
npm run setup:dev
npm run start

This will install all the required dependencies, run the necessary scripts and init a Docker-based Postgres server.

  1. Go to .../packages/amplication-server and execute the following command:
npm run start
  1. Go to .../packages/amplication-client and execute the following command:
npm run start

Setting Up Amplication Manually

You can use a manual step-by-step approach to set up Amplication in a local development environment. To do that, you should follow the following instructions for Setting Up Amplication Server, and Setting Up Amplication Client.

Amplication Server is the main component of the platform that provides all the core functionality to design and create low-code applications. The server exposes a GraphQL API for all actions. The server is built with the following awesome open-source technologies: Node.js, NestJS, Prisma over PostgreSQL, GraphQL API, and many more...

Amplication Client is the front end of the platform that provides you with an easy-to-drive UI for building your next low-code application. The client is based on React, Apollo client, Primer components, React Material Web Components, Formik, and more.

Beta version

Amplication is currently in Beta version. This means that we are still working on essential features like production-ready hosting, migrations, and stability to our console.

How does it affect you? Well... mostly it doesn't. Every app generated using Amplication platform contains popular, documented, secured, and supported production-ready open-source components & packages. Your app is stable, scalable, and production-ready you can deploy and rely on. You can read more about the generated app and its stack here https://docs.amplication.com/docs/getting-started

Support

Ask a question about Amplication

You can ask questions, and participate in discussions about Amplication-related topics in the Amplication Discord channel.

Create a bug report

If you see an error message or run into an issue, please create bug report. This effort is valued and it will help all Amplication users.

Submit a feature request

If you have an idea, or you're missing a capability that would make development easier and more robust, please Submit feature request.

If a similar feature request already exists, don't forget to leave a "+1". If you add some more information such as your thoughts and vision about the feature, your comments will be embraced warmly :)

Contributing

Amplication is an open-source project. We are committed to a fully transparent development process and appreciate highly any contributions. Whether you are helping us fix bugs, proposing new features, improving our documentation or spreading the word - we would love to have you as part of the Amplication community.

Please refer to our Contribution Guidelines and Code of Conduct.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Yuval Hazaz

💻

Roy Belkind

⚠️ 🐛 💻

Gal Cegla

⚠️ 🐛 💻

Alon Ram

💻 ⚠️ 🐛 🖋

meeroslava

💻 ⚠️ 🐛 🖋

danna

📖

Almog Langleben

💻

tupe12334

💻 🐛

Gabriel Moncea

💻

m3llo96

📖

Petar Vujović

💻 🐛

yam-golombek

📖

Iddan Aaronsohn

💻 🐛 🖋

Tim Durward

💻 🚇 📖

yonantan

💻

hermanramaniuk

💻 ⚠️

George Cameron

📖

Leeyaacov

📖 🎨 🖋

Mikayel Ohanjanyan

💻

Lalit C.

💻

dabelh

⚠️

liyachun

💻

isabr85

📖

Krzysztof Kapusta

💻

Eric Hodges

📖

0xflotus

📖

MatanForU

🎨

Richard Weaver

🤔

NullF0rest

🤔

sandbox-apps

🤔

Victor Mota

💡 🤔

Kelello

💡

MatthiasWanner

🤔

regicsolutions

🤔

Sten Feldman

🤔

Thuc Pham

💡

Cody Lacey

💻

Matan Shidlov

💻 🖋

michizhou

💻

Guillaume Traub

💻

Asian Cat

📝

Noy Agasi

💻 🐛

Rutam Prita Mishra

📖

Alex Bass

🎨 🐛

Mike Nußbaumer

🤔 🐛

Amit Barletz

💻 📖

Moshe Forman

📖

Mohammed Agboola®️

💻 🐛

morhag90

💻

Kwinten Li

💻

EdroViegas

🐛

Hassan Miiro

🤔

Michael Solati

💻

Mohamed Muhsin

💻

0xsapphir3

🐛

Nicolas Frati

🤔

This project follows the all-contributors specification. Contributions of any kind welcome!