Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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