Checkcup
Checkcup is a website monitoring tool that fetches the status of websites along with screenshots and active status. It is built using Next.js for the frontend and Puppeteer with Browserless in the backend.
Features
- Fetches website status including HTTP status code, response time, and active status.
- Captures screenshots of websites for visual verification.
- Supports monitoring multiple websites simultaneously.
Demo
{% embed https://github.com/priyanshuverma-dev/quine-checkcup %}
Live Preview
You can view a live preview of Checkcup here.
Installation
Clone the repository:
git clone https://github.com/priyanshuverma-dev/quine-checkcup.git
Install dependencies:
cd checkcup bun install
Configure environment variables:
Create a
.env
file in the root directory and provide the following variables:DATABASE_URL=your_database_url NEXT_PUBLIC_URL=server_url
Replace
your_database_url
with the URL of your MongoDB database. Replaceserver_url
with the URL of your server.Install dependencies for the
server
directory:cd server bun install
Configure environment variables for the
server
directory:Create a
.env
file in theserver
directory and provide the following variables:BROWSERLESS_URL=browserless_url
Replace
browserless_url
with the URL of your Browserless instance.
Usage
Start the server:
cd server bun run dev
Generate Prisma client:
bunx prisma generate
Start the development server:
bun run dev
Open your browser and navigate to
http://localhost:3000
.Enter the URLs of the websites you want to monitor and click on the “Check Status” button.
View the status, response time, and screenshot of each website.
Deployment
To deploy Checkcup to production, follow these steps:
Build the Next.js app:
bun run build
Start the production server:
bun start
Visit the deployed URL to access Checkcup.
To deploy the server, follow the same steps as above in server directory.
Technologies Used
- Next.js
- Puppeteer
- Browserless
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
License
This project is licensed under the MIT License - see the LICENSE file for details.