Download and Install the following
- Just
- Docker Desktop
- Node.js (LTS recommended)
You can use any editor, but setup instructions are included for two popular IDEs:
- Run
just setupin the terminal to create your.envfile and install dependencies.- You can edit the
.envmanually anytime to change the default values.
- You can edit the
- π³ Docker: Run
just startin the terminal (RECOMMENDED). - π Local: Run
just start -lin the terminal.
This project uses a variety of packages for scraping, browser automation, AI summarization, Excel handling, React frontend, and concurrency control.
-
Parsing & Dates
- Chrono-Node β Natural language date parser for extracting dates from text.
- Date-FNS β Modern JavaScript date utility library for formatting, comparisons, and calculations.
-
Environment
- Dotenv β Loads environment variables from a
.envfile.
- Dotenv β Loads environment variables from a
-
Scraping & Browser Automation
- Playwright β Browser automation library for headless and headed browsing.
- Playwright-Extra β Extensible version of Playwright to use plugins.
- Puppeteer-Extra-Plugin-Stealth β Helps evade bot detection for automated browsers.
-
Excel Handling
- ExcelJS β Read and write Excel (
.xlsx) spreadsheets entirely in Node.js.
- ExcelJS β Read and write Excel (
-
AI Integration
- @google/genai β SDK for Google Gemini / Generative AI models, used for summarizing reports.
-
Async Control
- @supercharge/promise-pool β Manage concurrent async tasks with controlled concurrency.
- TinyQueue β Fast priority queue for JavaScript, used for ordered processing of tasks.
-
Search & Data Fetching
- SerpAPI β API for scraping Google search results, including Google Maps business listings.
-
Database & File Uploads
- @prisma/client β Type-safe database client for Node.js and TypeScript.
- Multer β Middleware for handling multipart/form-data, primarily used for file uploads in Express.
-
Styling & Frontend
- Bootstrap β CSS framework used for form styling and layout.
- React β Library for building user interfaces.
- React-DOM β Provides DOM-specific methods for React.
- React-Bootstrap β React components for Bootstrap.
- React-Router-DOM β Routing library for React single-page applications.
- React-Leaflet β React wrapper for Leaflet maps.
- Leaflet β Core mapping library used by React-Leaflet.
- React-Markdown β Render Markdown content as React components.
-
Server & Templates
- Express β Fast, minimal Node.js web framework.