/amplication

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

Primary LanguageTypeScriptOtherNOASSERTION

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

All Contributors

1  Amplication main

Amplication is an open‑source development platform. It helps professional Node.js developers build 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

Amplication provides the following features:

  • Production-ready APIs
  • Data Model
  • Role Based Access Control (RBAC)
  • Microservices Support
  • Continuous GitHub Sync
  • TypeScript and Node.js Source Code
  • Plugin System
  • Monorepo or Polyrepo
  • Custom Code
  • Admin UI
  • Amplication Console & CLI

Getting Started

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

Alternatively you can set up a local development environment.

See the Amplication Website or Amplication Docs for more details.

Tutorials

Amplication Cloud (SaaS)

Launch Amplication from app.amplication.com

Development Environment (Local)

System Requirements

💡 Before you begin, make sure you have the following installed:

Getting Started With Local Development

Amplication is using a monorepo (powered by Nx Workspaces) with multiple apps and libraries.

Follow these simple instructions to set up a local development environment.

  1. Clone the repository and install dependencies:
git clone https://github.com/amplication/amplication.git
cd amplication
npm install
  1. Run the setup script, which takes care of installing dependencies, building packages and ensuring your workspace is dev-ready.
npm run setup:dev
  1. Spin up all required infrastructure (Postgres, Kafka, etc.) using Docker Compose:
# To be able to view logs
npm run docker:dev

# Or, if you prefer to run it at the background
npm run docker:dev -- -d
  1. Apply database migrations:
npm run db:migrate:deploy
  1. To start developing, run the serve target of the desired app:
# This will serve the Amplication Server in development mode
npx nx serve amplication-server

# This will serve the Amplication Client in development mode
npx nx serve amplication-client
  • Please note that in order to be able to run the app's client properly, you need to serve both the server and client.

That's it, you are good to go! Happy hacking! 👾

You can always find more information in each app/library's respective README.md file.

Setting Up Amplication Manually

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

Setting up Amplication Server

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...

Setting Up Amplication Client

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.

Version 1

Amplication is currently in version 1. This is the first major release of Amplication with enterprise-grade production readiness & scale. In this version, we have introduced multiple new features and enhanced the existing ones. The feature set is listed above in the Features section.

Support

Ask your questions and participate in discussions regarding Amplication-related and web-dev topics at the Amplication Discord server.

Create a Bug Report

If you see an error message or run into an issue, please create bug report. This effort is valued and helps 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 highly appreciate 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 a part of the Amplication community.

Useful Links

Please refer to our Contribution Guidelines and Code of Conduct.

Contributors ✨

Thanks goes to these wonderful people (🤗):

Yuval Hazaz
Yuval Hazaz

💻
Roy Belkind
Roy Belkind

⚠️ 🐛 💻
Gal Cegla
Gal Cegla

⚠️ 🐛 💻
Alon Ram
Alon Ram

💻 ⚠️ 🐛 🖋
meeroslava
meeroslava

💻 ⚠️ 🐛 🖋
danna
danna

📖
Almog Langleben
Almog Langleben

💻
tupe12334
tupe12334

💻 🐛
Gabriel Moncea
Gabriel Moncea

💻
m3llo96
m3llo96

📖
Petar Vujović
Petar Vujović

💻 🐛
yam-golombek
yam-golombek

📖
Iddan Aaronsohn
Iddan Aaronsohn

💻 🐛 🖋
Tim Durward
Tim Durward

💻 🚇 📖
yonantan
yonantan

💻
hermanramaniuk
hermanramaniuk

💻 ⚠️
George Cameron
George Cameron

📖
Leeyaacov
Leeyaacov

📖 🎨 🖋
Mikayel Ohanjanyan
Mikayel Ohanjanyan

💻
Lalit C.
Lalit C.

💻
dabelh
dabelh

⚠️
liyachun
liyachun

💻
isabr85
isabr85

📖
Krzysztof Kapusta
Krzysztof Kapusta

💻
Eric Hodges
Eric Hodges

📖
0xflotus
0xflotus

📖
MatanForU
MatanForU

🎨
Richard Weaver
Richard Weaver

🤔
NullF0rest
NullF0rest

🤔
sandbox-apps
sandbox-apps

🤔
Victor Mota
Victor Mota

💡 🤔
Kelello
Kelello

💡
MatthiasWanner
MatthiasWanner

🤔
regicsolutions
regicsolutions

🤔
Sten Feldman
Sten Feldman

🤔
Thuc Pham
Thuc Pham

💡
Cody Lacey
Cody Lacey

💻
Matan Shidlov
Matan Shidlov

💻 🖋
michizhou
michizhou

💻
Guillaume Traub
Guillaume Traub

💻
Asian Cat
Asian Cat

📝
Noy Agasi
Noy Agasi

💻 🐛
Rutam Prita Mishra
Rutam Prita Mishra

📖
Alex Bass
Alex Bass

🎨 🐛
Mike Nußbaumer
Mike Nußbaumer

🤔 🐛
Amit Barletz
Amit Barletz

💻 📖
Moshe Forman
Moshe Forman

📖
Mohammed Agboola®️
Mohammed Agboola®️

💻 🐛
morhag90
morhag90

💻
Kwinten Li
Kwinten Li

💻
EdroViegas
EdroViegas

🐛
Hassan Miiro
Hassan Miiro

🤔
Michael Solati
Michael Solati

💻
Mohamed Muhsin
Mohamed Muhsin

💻
0xsapphir3
0xsapphir3

🐛
Nicolas Frati
Nicolas Frati

🤔
Utsav Paul
Utsav Paul

🚧
Santosh Bhandari
Santosh Bhandari

💻
Vincenzo Domina
Vincenzo Domina

💻

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