This is a seed project for Enplug Apps. It consists of two subprojects:
appused for displaying content on the Enplug Player. Normally it communicates with the Player API to generate content to be displayed, based on asset datadashboardfor configuring assets - the content that will be displayed on the screens.
Neither subproject is ejected, meaning all the config happens through angular.json.
The two subprojects are currently on different stacks. Only
dashboardhas been migrated;appis still the legacy seed and will be migrated later.
| Subproject | Status | Stack | Package manager | How it serves locally |
|---|---|---|---|---|
dashboard |
Migrated | Angular 21, standalone components, Biome | pnpm (11.9.0 pinned) | pnpm start — reads certs from cert/ via angular.json |
app |
Pending migration | Legacy Angular, NgModules | npm/yarn + @enplug/scripts |
npm run start:ssl — reads certs from dev.private.json |
Until app is migrated, keep in mind that commands, tooling, and Node versions differ between the two folders: everything documented below for the dashboard (pnpm, Biome, cert/ folder) does not apply to app yet.
Just clone it, remove all the App Seed references:
- in
package.jsons of respective subrepos - in main
src/appfiles - in
AWSconfigs (if needed), residing in eachpackage.json - in each of
angular.json(new project references and project names)
to your own project name and begin editing the files!
If you need to share some resources between app and dashboard, it's recommended to keep them in shared directory.
The development servers run over HTTPS, so you need local SSL certificates before starting either subproject.
Important: Certificates are personal development files and must never be committed. The
cert/folder is listed in.gitignore— keep it that way.
Prerequisites:
opensslapplication
The repository already includes the required openssl.conf at the root (wildcards for *.enplug.in and *.enplug.com, which cover localhost.enplug.in).
From the repository root, run:
openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -keyout key.pem -out certificate.pem -config openssl.conf
# Optional: inspect the generated certificate
openssl x509 -text -noout -in certificate.pem
# Export it for the system trust store
openssl pkcs12 -inkey key.pem -in certificate.pem -export -out certificate.p12The generated files must keep exactly these names and live in the cert/ folder at the repository root:
app-seed/
├── cert/
│ ├── certificate.pem
│ └── key.pem
mkdir -p cert
mv certificate.pem key.pem cert/The dashboard's angular.json points to ../cert/certificate.pem and ../cert/key.pem — with any other name or location, pnpm start fails.
Add certificate.p12 to the system's trusted certificates so the browser accepts the local HTTPS server:
- macOS: Open Keychain Access → Import → mark the certificate as "Always Trust"
- Windows: Microsoft guide
Edit /etc/hosts (macOS/Linux) or C:\Windows\System32\drivers\etc\hosts (Windows) and add:
127.0.0.1 localhost.enplug.in
127.0.0.1 localhost.enplug.com
Dashboard (migrated): nothing else to configure — angular.json already reads the certificates from cert/:
cd dashboard && pnpm startThe dashboard runs on https://localhost.enplug.in:50000/.
App (legacy, pending migration): still uses the old @enplug/scripts flow. Create a dev.private.json in app/ pointing to the same certificates:
{
"cert": "../cert/certificate.pem",
"key": "../cert/key.pem"
}Then run npm run start:ssl inside app/. It runs on https://localhost.enplug.com:50001/.