Skip to content

Raja28/LeadTrackr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 LeadTrackr | Lead Management System

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.

🔐 Admin Login Credentials

Email: admin1@gmail.com
Password: admin1@gmail.com

🔗 Demo Links


📦 Project Overview

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.

🧰 Tech Stack

  • Frontend Framework: React.js
  • Backend Runtime: Node.js & Express.js
  • Database: PostgreSQL (via Supabase)
  • Authentication: JWT (Stored in Secure httpOnly Cookies)
  • Automation: Google Apps Script (Daily 9 AM Triggers)
  • Deployment: Vercel

🚀 Key Features

🛠️ Lead Tracking API Documentation

All API endpoints are prefixed with /api. Admin endpoints require a valid JWT token passed via cookies (using withCredentials).

📝 Public / Guest Endpoints

Endpoint Method Description
/guest/enroll POST Submit a new lead. Validates email and syncs to Google Sheets.

🔐 Admin Authentication

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.

👤 Lead Management (Admin Only)

Endpoint Method Description
/admin/leads GET Fetch all leads with optional Search and Course filters.
/admin/leads/:id PATCH Update lead status (e.g., newcontacted) & syncs to Sheet.

⚙️ Security Requirements

  • Bcrypt: Password hashing for admin accounts.
  • Environment Variables: Critical keys (Google JSON, DB URL, JWT Secret) are masked and secured.

🛠️ Installation & Setup

  1. 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
    1. Run:
    npm run dev

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors