https://github.com/sunjay-dev/cronjob-scheduler
An Agenda.js-powered cron job scheduler to automate API/webhook calls. Built with Agenda.js, Express, and React.
https://github.com/sunjay-dev/cronjob-scheduler
agenda-js lucide-react passport-js redux-toolkit typescript
Last synced: 10 months ago
JSON representation
An Agenda.js-powered cron job scheduler to automate API/webhook calls. Built with Agenda.js, Express, and React.
- Host: GitHub
- URL: https://github.com/sunjay-dev/cronjob-scheduler
- Owner: sunjay-dev
- Created: 2025-07-08T06:43:00.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-05T16:09:33.000Z (10 months ago)
- Last Synced: 2025-08-05T18:11:35.390Z (10 months ago)
- Topics: agenda-js, lucide-react, passport-js, redux-toolkit, typescript
- Language: TypeScript
- Homepage: https://www.cronjon.site/
- Size: 1.57 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CronJob-Scheduler

A simple yet powerful cron job scheduler to automate recurring API requests (GET/POST) using [Agenda.js](https://github.com/agenda/agenda). Schedule jobs, view logs, and control execution โ all from a modern web dashboard.
---
## ๐ Features
- ๐ Schedule recurring jobs using cron expressions
- ๐ก Supports GET, POST and many other requests options with custom headers/body
- ๐ง Built on **Agenda.js** for robust background processing
- ๐ View job execution logs and status (success/failure)
- โจ Toggle jobs on/off without deleting them
- ๐ป Clean React + Tailwind dashboard
- ๐ JWT-based authentication
---
## ๐ ๏ธ Tech Stack













---
## ๐ฆ Installation
### 1. Clone the repository
```bash
git clone https://github.com/sunjay-dev/CronJob-Scheduler.git
cd CronJob-Scheduler
````
### 2. Setup Backend
```bash
cd server
pnpm install
cp .env.example .env
# Update .env with your MongoDB URI and JWT secret
pnpm run dev
```
### 3. Setup Frontend
```bash
cd ../client
pnpm install
pnpm run dev
```
---
## ๐งช Environment Variables
Example `.env` file for backend:
```env
PORT=5000
MONGO_URI=YOUR_MONGO_URI
MONGO_DB_COLLECTION=agendaJobs
JWT_SECRET=YOUR_JWT_SECRET
CLIENT_URL=http://localhost:5173
GOOGLE_CLIENT_ID=GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET=GOOGLE_CLIENT_SECRET
GOOGLE_CALLBACK_URL=http://localhost:3000/auth/google/callback
RESEND_EMAIL_API_KEY=RESEND_EMAIL_API_KEY
SENDEREMAIL=SENDEREMAIL
```
---
## ๐ฅ๏ธ Folder Structure
```
CronJob-Scheduler/
โโโ Backend/ # Server (Express + Agenda.js)
โโโ Frontend/ # Client (React + Tailwind)
โโโ README.md
```
---
## ๐งญ Roadmap
* Create/Update/Delete jobs
* Job toggle (enable/disable)
* Execution logs viewer
* Support for PUT/DELETE requests
* User account settings
* Google login config
* Forget password
* [ ] Email notifications on failure
* [ ] Retry on failure + backoff strategy
## ๐ค Contributing
Contributions, suggestions, and improvements are always welcome!