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:projectto 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:
npm run test:apiPorts 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
Was this helpful?