An Angular CLI / Electron App that utilizes Novo Elements to bring a rich user experience to Data Loader. Uses Electron Builder to package the Angular App inside of a Windows/Mac one-step installer that uses the latest Bullhorn Data Loader.
This repo contains the Desktop App source code and developer documentation.
Installers are published to the Data Loader App repo which contains the installers and user facing documentation. The windows/mac installer files are published there along with additional files that enable auto-updates using electron-updater.
- Node 22
- Yarn (latest)
- Setup GitHub token for API access to dataloader repo for automatic downloads
- Create GitHub personal access token: Personal access tokens
- Generate new token
- Select just the first box,
repo
access - Full control of private repos - Assign token value to a new
GH_TOKEN
environment variable on your machine
# Clone the project
git clone [email protected]:bullhorn/dataloader-ui.git
# Change directory
cd dataloader-ui
# Install
yarn
# Launch electron app locally in dev mode
yarn start
# Generate installers for Windows and Mac (not bothering with Linux for now)
yarn package
|-- buildResources - image files used in creating the distributable electron-builder installer
|-- dataloader - the latest downloaded Data Loader CLI
|-- dist - where the Angular App gets built and the Data Loader CLI gets copied to
|-- mainProcess - source files for the electron main process
|-- mainProcess.ts - the entry point for the main process that kicks off the electron renderer process in a new Browser Window
|-- packageResources - files required to package the app for distribution as a Windows/Mac App from a certified developer
|-- packages - where the electron app from the dist folder gets packaged into an os-specific installer by electron-builder
|-- src - source files for the electron renderer process (the Angular front end)
|-- main.ts - the entry point for the renderer process that loads Angular
|-- userData - mimics the actual user data of the installed app for use when running electron locally in dev mode
- Application Data
- Data Loader UI Angular App with Dependencies
- Data Loader CLI Release Package
- User Data
- Output Files
- Log Files
- Results Files
- Output Files
electron-log
is used to log debug messages and errors that occur in the main process.
The main process is responsible for opening the application window and also for spawning
off the Data Loader CLI for doing the actual work. Check out the
electron-log documentation for more information.
Run yarn test
for the Angular CLI dev server. Navigate to http://localhost:4200/
.
The app will automatically reload if you change any of the source files.
The app will not have any Electron functionality, but is useful for developing the Angular App using fake data without having to wait for Electron.
See the RELEASE.md file