DEV Community

Cover image for Domain Monitor - A React SPA with MongoDB Cloud Services as a Backend
Simon
Simon

Posted on

Domain Monitor - A React SPA with MongoDB Cloud Services as a Backend

Overview of My Submission

I have a bunch of domains that I track using a shell script that sends me weekly emails with domain statuses. Some of the domains are mine, and I follow them because I don't want to miss the expiration date. The rest are the domains that aren't available now, but I'd like to acquire them once they become available. I've been using the script for years, and it suited me well, except for not having a friendly interface for adding and removing domains to the list.

Once I saw the announcement about this hackathon, I knew that it would be a perfect opportunity to rebuild that old and basic script into something more sophisticated and also to explore MongoDB Cloud along the way.

The result is a React single-page, multi-user application that uses MongoDB Atlas for storing domain entries, Realm functions and triggers for querying WHOIS servers, daily updates, and change detection. An email notification is sent to the user when a change is detected.

Submission Category:

Action Star

Link to Code

GitHub logo tunaitis / domain-monitor

Self-hosted React SPA for monitoring domain names.

Domain Monitor

Domain Monitor is a React single-page application for tracking domain status changes.

Domain Monitor

Hosting on MongoDB Cloud

Requirements

Node.js is required to build the application and then deploy it to the cloud using the Realm CLI. If you don't have it already, please download it from here.

MongoDB Cloud account is required to access MongoDB Atlas and MongoDB Realm. MongoDB Atlas is for hosting the application's database, and MongoDB Realm is for hosting serverless functions and static files. Static files can be hosted anywhere else, but I recommend using MongoDB Realm just for simplicity. Create MongoDB Cloud account here.

The application can be deployed to MongoDB Cloud using the Realm UI, but a more convenient way is to use the Realm CLI. You can find how to install and configure the Realm CLI here.

An SMTP server is an optional requirement to receive email notifications when…

Additional Resources / Info

The live demo is here.

Also, if you are interested in self-hosting the app, you can find the instruction on how to do that in the project repository.

Top comments (0)