Amplication
Instantly generate quality Node.js resources
README
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
:bulb: Before you begin, make sure you have the following installed:
- Docker
- Git
- ts-node
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:
- ``` sh
- git clone https://github.com/amplication/amplication.git
- cd amplication
- ```
2. Run the setup script, which takes care of installing dependencies, building packages and ensuring your workspace is dev-ready.
- ``` sh
- npm run setup:dev
- ```
3. Spin up all required infrastructure (Postgres, Kafka, etc.) using Docker Compose:
- ``` sh
- # 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
- ```
4. Apply database migrations:
- ``` sh
- npm run db:migrate:deploy
- ```
5. To start developing, run the serve target of the desired app:
- ``` sh
- # 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
- ```
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
- Docs
- Blog
- Twitter
- Discord
- Youtube
Please refer to our Contribution Guidelines and Code of Conduct.
Contributors ✨
Thanks goes to these wonderful people (:hugs:):
This project follows the all-contributors specification. Contributions of any kind welcome!