/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 with the hosted service at app.amplication.com

Alternatively you can set up a local development environment with the instructions below

See the Amplication Website or Amplication Docs for more details.

Tutorials

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 one or more of the serve:[app] scripts from package.json The available scripts are:

    npm run serve:server : runs Amplication server

    npm run serve:client: runs Amplication client

    npm run serve:dsg: runs the Build Manager and the local version of Data Service Generator

    npm run serve:git: runs the Git Pull Request service needed to push code to Git providers

    npm run serve:storage: runs the Storage service needed to view the generated code in the client (code view)

    npm run serve:plugins: runs the plugin catalog API

    ℹ️ Please note that in order to be able to run the app's client properly, you need to serve both the server and client plus any additional component for specific functionalities:

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.

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

💻
Daniele Iasella
Daniele Iasella

💻 🐛 📖 🚇

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