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.
- Clone the repository and install dependencies:
git clone https://github.com/amplication/amplication.git
cd amplication
npm install
- Run the setup script, which takes care of installing dependencies, building packages and ensuring your workspace is dev-ready.
npm run setup:dev
- 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
- Apply database migrations:
npm run db:migrate:deploy
- 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.
Amplication Server
Setting upAmplication 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
Setting UpAmplication 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 (🤗):
This project follows the all-contributors specification. Contributions of any kind welcome!