EagleLogger is an amateur radio net logging application. It was released into production on 1/29 as a webapp on EagleLogger.com and android app on the play store.
Every Tuesday evening for the past few years now I've ran the EagleNet, which is a local NTS ham radio net that runs everyday at 8:30PM on the NI4CE repeater system. One of the purposes of the net, in addition to passing traffic and practicing good amateur radio communications, is for other people to checkin to the net by giving their callsign, usually one at-a-time, while the NCS (Net Control Station), coordinates and keeps a list of the people who have checked into the net.
EagleLogger is a tool to keep a list of the checkins to a net. An ham operator (anyone with an amateur radio license) can login, create a net, and search for checkins via an autocomple search box linked to a live copy of the FCC license database. There's also a chat window for each net so other hams can communicate to pass signal reports and other helpful information.
EagleLogger is a NodeJS application backed by a PostgreSQL database. The front-end is a VueJS SPA with a Vuetify UI which communicates to the servers using SocketIO with a redis adapter. It's built with Webpack, uses Cordova to create the apk, and includes a testing framework for Karma unit tests and Nightwatch.js e2e testing (although both need some content).
It's running on a Kubernetes Cluster on DigitalOcean powered by CoreOS with a CentOS NFS server and using Let's Encrypt for certificates.
This is the second iteration of EagleLogger, the first was originally written three years ago as Polymer application backed by PHP and MySQL. It suffered by being put on the back shelf while I got busy full-time. That taught me a lesson and this new version of the program is designed with CI/CD in mind, keeping everything as modular and straight-forward as possible. Thank you containerization!!
The FCC provides a downloadable copy of several of their databases along with daily transaction logs with updates. These logs are downloaded and parsed into EagleLogger, in-full when the database is first created and daily via a scheduled job.