A production-ready backend REST API built with Node.js and Express.js that audits websites by validating URLs, fetching metadata, measuring response time, caching results, and exposing a scalable API.
Render Deployment
https://page-pulse-r2vl.onrender.com
- β URL Validation using Zod
- β Website Health Audit
- β HTML Title Extraction
- β HTTP Status Detection
- β Response Time Measurement
- β Configurable Request Timeout
- β In-Memory Caching
- β Rate Limiting
- β Concurrency Control
- β Structured Logging (Winston)
- β Unique Request IDs
- β Unit Testing (Jest + Supertest)
- β GitHub Actions Continuous Integration
- β Render Cloud Deployment
| Category | Technologies |
|---|---|
| Backend | Node.js, Express.js |
| HTTP Client | Axios |
| HTML Parser | Cheerio |
| Validation | Zod |
| Cache | Node Cache |
| Logging | Winston |
| Rate Limiting | Express Rate Limit |
| Concurrency | p-limit |
| Testing | Jest, Supertest |
| CI/CD | GitHub Actions |
| Deployment | Render |
page-pulse/
β
βββ .github/
β βββ workflows/
β βββ ci.yml
β
βββ src/
β βββ cache/
β βββ config/
β βββ controllers/
β βββ logger/
β βββ middleware/
β βββ routes/
β βββ services/
β βββ tests/
β βββ utils/
β
βββ Task-B/
β βββ Task-B-Architecture.md
β βββ Technology-Decision-Record.md
β βββ Failure-Mode-Analysis.md
β βββ Observability-and-Rollback.md
β βββ diagrams/
β βββ architecture-diagram.png
β
βββ assets/
βββ server.js
βββ package.json
βββ render.yaml
βββ README.md
git clone https://github.com/Ishar007/page-pulse.gitnpm installPORT=5000
REQUEST_TIMEOUT=10000
CACHE_TTL=300
MAX_CONCURRENT=20npm run dev{
"url": "https://google.com"
}{
"requestId": "uuid",
"success": true,
"url": "https://google.com",
"status": 200,
"title": "Google",
"responseTime": 267,
"cached": false
}npm testGitHub Actions automatically:
- Install project dependencies
- Execute all unit tests
- Validate every push and pull request to the
mainbranch
- Redis Distributed Cache
- Authentication & Authorization
- Docker Support
- Kubernetes Deployment
- Audit History
- Scheduled Website Audits
- Email Notifications
- Dashboard & Analytics
This repository includes the complete design documentation required for Task B of the Digital Heroes Software Development assignment.
- π Task B Architecture
- π Technology Decision Record
- π Failure Mode Analysis
- π Observability and Rollback Plan
- ποΈ System Architecture Diagram
- Designed to support 10,000 audits per day
- Handles 500 concurrent requests
- Stateless API architecture for horizontal scaling
- Redis-based distributed caching strategy
- RabbitMQ for asynchronous job processing
- PostgreSQL for persistent audit storage
- Prometheus & Grafana for monitoring
- 99.9% availability target with rollback and observability planning
Ishar Roy
B.Tech β Computer Science & Engineering
Future Institute of Engineering and Management


