Run Impler locally
What do you need to run Impler locally and how to perform the setup?
Requirements
Node.js version v18.13.0
MongoDB
RabbitMQ
localstack (required for storing files)
(Optional) pnpm - Needed if you want to install new packages
You can also run docker containers for MongoDB, RabbitMQ, and Localstatck.
Setup the project
After installing the required services on your machine, you can clone and set your forked version of the project:
Fork Impler's repository. Clone or download your fork to your local machine.
Run the initial setup command
npm run setup:project
to install and build all dependencies.Run the project locally using
npm run start:dev
The npm run start:dev
will start all of the services in parallel including APIs and Widget clients. if you only want to run parts of the platform, you can use the following run commands from the root project.
start:api - Starts the API in watch mode
start:dal - Builds the Data Access Layer package in watch mode
start:embed - Serves the embed script via HTTP, which is required to open the widget
start:widget - Starts the widget project that shows the widget inside an iframe
start:queue-manager - Starts the Queue manager application that processes sending data via webhook
start:web - Starts the web application, where you can create manage imports.
You can run pnpm start:<APP>
command one by one too, in case you want to run applications separately.
Set up your environment variables
The command npm run setup:project
creates default environment variables that are required to run Impler in a development environment. You can change them based on your requirements. These are all the available environment variables:
Running Tests
Writing tests are currently In Progress. You can test packages or apps using appropriate CLI commands:
API
To run the API tests, run the following command:
Ports used by services when the project spins up
3000 - API
4701 - Embed
3500 - Widget
4200 - Web
If you have any questions, suggestions, or comments. Feel free to reach out to us over Discord. We’re constantly improving to deliver the best Data Importer for your product, and we value your input.
Last updated