Data-source register: Sites/APIs scraped, method (API vs scrape), rate limits, refresh cadence, blocks, ToS compliance evidence.
All our scrapers are local scrapers developed in-house. The source code for these scrapers is maintained in this repository:
| Source Type | Source/Provider | Collection Method | Refresh Cadence | ToS Compliance Evidence |
|---|---|---|---|---|
| Scraped Data | Supported course platforms, e.g. Udemy | Local Scraping | Ad-hoc | All scraping is done on publicly available, non-gated data and respects robots.txt files. |
| API Data | SearchAPI, Brightdata, Serpwow, DataForSEO, OpenAI | Third-Party API | Real-time | Compliant with each provider's API licensing terms and rate limits, which are managed programmatically in the backend. |
Here's a full list of our github private repositories:
IP & code ownership
| Asset Type | Detail | Ownership Status | Evidence |
|---|---|---|---|
| Code Repositories | All under the github organization 'eurekaa' | 100% Owned | Git organization/user control. |
| Domain | eurekaa.io | 100% Owned | Domain registrar screenshots. |
| Contractor Work | All work performed by third-party developers/contractors. | IP Assigned | All contractors signed IP assignment clauses ensuring all code and intellectual property developed is owned by the company/founder. |
NDA/IP: All intellectual property and proprietary information belong to the founder (the seller).
Assignability matrix
| Vendor/API Account | Account Transferability | Mitigation/Next Steps for Buyer |
|---|---|---|
| Stripe | Assignable (requires paperwork) | Buyer will need to submit legal and bank documentation to assume the account or create a new one. |
| MongoDB Atlas | Assignable | Account can be transferred administratively. Database migration is not required. |
| AWS | Assignable | AWS account hosting Lambda functions can be transferred, or the Lambda functions can be migrated to the buyer's AWS account via AWS CLI deployment. |
| DigitalOcean | Assignable | Server can be transferred or re-imaged/re-created on the buyer's account. |
| Auth0 | Assignable | Account transfer is generally possible via Auth0 support or administrative transfer. |
| SearchAPI, Brightdata, Serpwow, DataForSEO | Assignable (via API key replacement) | New API keys will be generated under the buyer's name and replaced in the backend configuration. |
| Netlify (CMS/CI/CD) | Assignable | Account can be transferred administratively. |
| Cloudinary | Assignable | Account can be transferred administratively, or new API keys can be generated and assets migrated/repointed. |
| Cloudflare | Assignable | Domain ownership transfer and administrative access transfer are standard processes. |
| BunnyCDN | Assignable | Account transfer or migration of CDN zones/storage is generally possible via administrative support. |
| OpenAI (API Key) | Assignable (via API key replacement) | New API key will be generated under the buyer's name and replaced in the backend. |
Tech stack & architecture
Architecture Overview
The architecture is a modern, decoupled structure using a serverless approach where appropriate, ensuring scalability and cost efficiency. The frontend (Vue.js) communicates with a variety of backend services:
- NodeJS/MongoDB Atlas: The core backend for user management and business logic.
- AWS Lambda: Serverless functions for the primary API endpoints.
- DigitalOcean Server: Dedicated server for resource-intensive tasks like AI interactions and $\text{Gtrend}$ API calls.
Frontend:
| Category | Technology | Notes |
|---|---|---|
| Main Language | Javascript | |
| Framework | Vue.js 2.0 | |
| UI Framework | Vuetify.js | A component framework for Vue, providing a material design look. |
| CMS | Netlify CMS | Self-hosted, used for managing marketing content. |
| Payment Provider | Stripe | For subscription and payment processing. |
Backend:
| Category | Technology | Notes |
|---|---|---|
| Database | MongoDB | NoSQL database, hosted with MongoDB Atlas for managed service benefits. |
| Backend Language | NodeJS | Used for all backend logic. |
| API | AWS Serverless Lambda | Used for scalable, cost-effective API endpoints. |
| Specialized Servers | DigitalOcean Server | Dedicated VPS for AI and Google Trend API processing to handle higher computational load. |
Other Third-Party Providers:
| Provider | Functionality |
|---|---|
| Auth0 | User login and authentication management. |
| SearchAPI, Brightdata, Serpwow | Data sources for Gtrend-related functionalities. |
| DataForSEO | Provides keyword data and related metrics. |
| OpenAI | Powers all integrated AI functionalities (e.g., Brainstorm Tab). |
| Cloudinary | Image hosting and manipulation. |
| Cloudflare and BunnyCDN | Primary providers for video hosting and Content Delivery Network (CDN) services. |
Development process
This describes the process for building, testing, and shipping code, including CI/CD workflows and quality checks.
CI/CD Workflow
- Frontend (Vue.js/Netlify CMS): Netlify is used as the Continuous Integration/Continuous Deployment ($\text{CI/CD}$) tool.
- All pushes to the repository branches are automatically deployed to corresponding staging or production environments.
- Backend (Digital Ocean): Deployment is executed directly on the server via a simple shell script.
deploy.shscript handles pulling the latest code, running dependencies, and restarting the application services.
- API (AWS Lambda): Deployment is managed via the AWS CLI (Command Line Interface).
Branching Strategy
We utilize a trunk-based development model:
- The main branch serves as the staging environment.
- Release branches are created from the main branch specifically for production deployments.