Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GrabContacts

GrabContacts automatically extracts email addresses, phone numbers, and social media profiles from websites and search queries (e.g. Lawyers in London).

Project structure

Folder Description
server/ Node.js/Express API — auth (Passport + JWT/sessions), MongoDB via Mongoose, Stripe billing, task queue producer/consumer (RabbitMQ)
client/ React (Create React App) single-page app — dashboard, contact scraping tasks, account/billing pages
website/ Marketing site (Tailwind CSS)
old-website/ Legacy static marketing site, kept for reference

Architecture

Scraping requests are created via the client, queued in RabbitMQ (server/queue/task.js), and processed by one or more worker processes (server/queue/worker.js) that fetch contact data (Google Places API and/or SerpApi) and write results to MongoDB. server/gbservice.sh manages the API server and workers under pm2.

Prerequisites

  • Node.js 16+
  • MongoDB instance (e.g. MongoDB Atlas)
  • RabbitMQ instance (e.g. CloudAMQP)
  • API keys/accounts: Google Maps/Places API, SerpApi, Stripe, Mailchimp, reCAPTCHA, and an SMTP-capable email account

Setup

Server

cd server
npm install
cp .env.example .env   # fill in real values
npm run dev             # starts the API with nodemon
npm run worker-free      # starts a worker process (also: worker-starter, worker-growth, worker-pro)

See server/.env.example for the full list of required environment variables (database/queue URIs, session/JWT secrets, email, Stripe, Mailchimp, reCAPTCHA, and Google/SerpApi keys).

Client

cd client
npm install
cp .env.example .env    # fill in real values
npm start                # runs on http://localhost:3000

client/.env.example lists the required REACT_APP_* variables (Google Maps JS key, Stripe publishable key, reCAPTCHA site key).

Website

cd website
npm install
npm run build-css

About

Lead Collection Platform

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages