Welcome to LeadTrackr! A modern, full-stack lead management solution integrated with PostgreSQL, Google Sheets API, and Google Apps Script automation. LeadTrackr enables organizations to capture student data, manage follow-ups via a secure admin dashboard, and automate reminders through a seamless cloud-sync workflow.
Email: admin1@gmail.com
Password: admin1@gmail.com
- Visit the Website: LeadTrackr Live
- API Status: LeadTrackr Server
LeadTrackr is designed as a high-performance bridge between public user input and administrative action:
- Capture: Professional 'Enroll Now' form with real-time validation and duplicate prevention.
- Sync: Instant data synchronization between a PostgreSQL database (via Supabase) and a central Google Sheet.
- Manage: Secure Admin Dashboard to search, filter by course, and update lead status.
- Automate: Time-based Google Apps Script triggers to send reminder emails to "New" leads after 24 hours.
- Frontend Framework: React.js
- Backend Runtime: Node.js & Express.js
- Database: PostgreSQL (via Supabase)
- Authentication: JWT (Stored in Secure
httpOnlyCookies) - Automation: Google Apps Script (Daily 9 AM Triggers)
- Deployment: Vercel
All API endpoints are prefixed with /api. Admin endpoints require a valid JWT token passed via cookies (using withCredentials).
| Endpoint | Method | Description |
|---|---|---|
/guest/enroll |
POST | Submit a new lead. Validates email and syncs to Google Sheets. |
| Endpoint | Method | Description |
|---|---|---|
/admin/auth/register |
POST | Verify admin existence and register new admin. |
/admin/auth/login |
POST | Verifies credentials and sets httpOnly JWT cookie. |
/admin/auth/logout |
POST | Clears the authentication cookie. |
| Endpoint | Method | Description |
|---|---|---|
/admin/leads |
GET | Fetch all leads with optional Search and Course filters. |
/admin/leads/:id |
PATCH | Update lead status (e.g., new → contacted) & syncs to Sheet. |
- Bcrypt: Password hashing for admin accounts.
- Environment Variables: Critical keys (Google JSON, DB URL, JWT Secret) are masked and secured.
-
Clone the repository:
git clone [https://github.com/Raja28/LeadTrackr.git](https://github.com/Raja28/LeadTrackr.git) cd LeadTrackr npm i- Add ENV: Add required env varaible on both client & server
- Run:
npm run dev