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.