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.
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
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.
๐ก Before you begin, make sure you have the following installed:
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 one or more of the
serve:[app]
scripts from package.json The available scripts are:npm run serve:server
: runs Amplication servernpm run serve:client
: runs Amplication clientnpm run serve:dsg
: runs the Build Manager and the local version of Data Service Generatornpm run serve:git
: runs the Git Pull Request service needed to push code to Git providersnpm 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: -
To create a backup of the local docker database container during schema build:
docker exec -t your-db-container pg_dumpall -c -U admin > dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql
- To inject the backup data into the container:
cat your_dump.sql | docker exec -i your-db-container psql -U admin
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.
Ask your questions and participate in discussions regarding Amplication-related and web-dev topics at the Amplication Discord server.
If you see an error message or run into an issue, please create bug report. This effort is valued and helps all Amplication users.
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 :)
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.
Please refer to our Contribution Guidelines and Code of Conduct.
Thanks goes to these wonderful people (๐ค):
This project follows the all-contributors specification. Contributions of any kind welcome!