A distributed full-stack software engineering application that collects, processes, stores, indexes, searches, and manages intelligence content from approved external web sources.
Built to demonstrate distributed systems architecture, asynchronous background processing, REST API development, NoSQL database integration, full-text search, containerized infrastructure, bulk data ingestion, and enterprise-inspired intelligence search using React, FastAPI, Redis, Celery, MongoDB, Elasticsearch, and Docker.
- Developed a distributed web intelligence search platform
- Built an interactive React intelligence dashboard
- Implemented a FastAPI REST API
- Created asynchronous background processing with Celery
- Integrated Redis as a distributed message broker
- Implemented MongoDB for source records, metadata, and processed content
- Integrated Elasticsearch for full-text indexing and ranked search results
- Developed keyword search and source filtering capabilities
- Created a curated repository of 100 intelligence sources
- Built automated bulk source ingestion
- Implemented source repository management capabilities
- Added duplicate source protection
- Developed source refresh and deletion functionality
- Containerized application infrastructure using Docker
- Integrated Swagger/OpenAPI documentation
- Demonstrated enterprise-inspired distributed systems architecture
| Metric | Value |
|---|---|
| Frontend Framework | React |
| Backend Framework | FastAPI |
| Programming Languages | Python, JavaScript |
| Message Broker | Redis |
| Background Processing | Celery |
| Primary Database | MongoDB |
| Search Engine | Elasticsearch |
| Infrastructure | Docker |
| Curated Intelligence Sources | 100 |
| Architecture | Distributed Full-Stack |
| Project Status | โ Core Application Complete |
The Distributed Web Intelligence Search Engine is a distributed full-stack application designed to collect, process, store, index, search, and manage intelligence content from approved external web sources.
The application provides web source ingestion, asynchronous content processing, source metadata management, full-text indexing, keyword search, source filtering, ranked search results, and repository administration through a modern React dashboard backed by a FastAPI REST API and distributed processing architecture.
This project demonstrates modern software engineering principles including distributed systems, asynchronous task processing, message broker integration, NoSQL database design, search engine integration, REST API development, frontend engineering, containerized infrastructure, bulk data ingestion, and version control.
Organizations frequently rely on intelligence distributed across regulatory agencies, government institutions, financial organizations, technology companies, cybersecurity organizations, consulting firms, research institutions, and international organizations.
Business users, analysts, researchers, and technology teams may need to manually visit multiple websites, locate relevant information, compare sources, and organize intelligence across disconnected platforms.
This creates several challenges:
- Fragmented information sources
- Repetitive manual research
- Inconsistent source tracking
- Limited centralized search capabilities
- Difficulty scaling content ingestion
- Inefficient retrieval of relevant intelligence
This project simulates an enterprise web intelligence platform by providing a centralized application that enables users to ingest approved external sources, process web content asynchronously, store source information, index searchable content, retrieve ranked intelligence results, and manage a centralized source repository.
- Build a distributed full-stack intelligence search platform
- Develop a React intelligence dashboard
- Implement a FastAPI REST API
- Demonstrate asynchronous task processing
- Integrate Redis as a distributed message broker
- Implement Celery background workers
- Design a MongoDB data persistence layer
- Integrate Elasticsearch full-text search
- Develop keyword search and source filtering
- Create automated bulk source ingestion
- Build a centralized intelligence source repository
- Demonstrate Docker-based containerized infrastructure
- Showcase enterprise-inspired distributed systems engineering practices
- Project Planning
- Requirements Documentation
- Solution Architecture
- Technical Design
- Development Roadmap
- Environment Setup
- Docker Infrastructure
- React Frontend Dashboard
- FastAPI REST API
- Redis Message Broker
- Celery Background Workers
- MongoDB Integration
- Elasticsearch Integration
- Web Source Ingestion
- Asynchronous Content Processing
- Search Indexing
- Keyword Search
- Source Filtering
- Ranked Search Results
- Bulk Source Ingestion
- 100-Source Intelligence Repository
- Source Metadata Management
- Duplicate Source Protection
- Source Refresh Functionality
- Individual Source Deletion
- Dashboard User Interface Refinement
- Swagger/OpenAPI Documentation
- Deep Recursive Web Crawling
- Multi-Page Content Discovery
- PDF and Document Ingestion
- AI-Powered Retrieval-Augmented Generation (RAG)
- Natural-Language Intelligence Questions
- AI-Generated Intelligence Summaries
- Source Citations
- Automated Testing Suite
- Cloud Deployment
- Application Monitoring and Observability
React Dashboard
โ
โผ
FastAPI REST API
โ
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
MongoDB Redis Elasticsearch
โ โ โ
โ โผ โ
โ Celery Workers โ
โ โ โ
โ โผ โ
โ Web Content Processing โ
โ โ โ
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โ
โผ
Searchable Intelligence
The application follows a distributed software architecture that separates frontend presentation, API communication, asynchronous processing, message brokering, data persistence, and search indexing into independent components.
This architecture improves separation of responsibilities and demonstrates how multiple application services coordinate to create an end-to-end distributed system.
- Users access the React intelligence dashboard.
- Approved external source URLs are submitted for ingestion.
- FastAPI validates incoming ingestion requests.
- Redis acts as the message broker for asynchronous processing.
- Celery workers process ingestion jobs in the background.
- Web content is retrieved and processed.
- MongoDB stores source records, metadata, processing status, and content.
- Elasticsearch indexes searchable intelligence content.
- Users enter keywords or phrases through the Query Workspace.
- Users optionally filter results by indexed source.
- Elasticsearch retrieves and ranks matching intelligence content.
- Search results are returned through FastAPI.
- The React dashboard displays search intelligence and ranked results.
- Users manage indexed sources through the Source Repository.
distributed-web-intelligence-search
โ
โโโ app
โ โโโ api
โ โโโ models
โ โโโ services
โ โโโ workers
โ โโโ main.py
โ
โโโ docs
โ โโโ requirements.md
โ โโโ architecture.md
โ โโโ technical_design.md
โ โโโ roadmap.md
โ
โโโ frontend
โ โโโ src
โ โโโ App.css
โ โโโ App.jsx
โ
โโโ scripts
โ โโโ bulk_ingest_sources.py
โ
โโโ docker-compose.yml
โโโ requirements.txt
โโโ README.md
The APEX dashboard provides a centralized interface for searching indexed intelligence, managing search scope, reviewing search results, and monitoring the indexed source repository.
Keyword searches return relevance-ranked results from indexed intelligence sources, providing source URLs, extracted content, and Elasticsearch relevance scores.
Users can search across the entire source library or narrow a query to a specific indexed source for more targeted intelligence retrieval.
The Source Library provides visibility into the platform's indexed intelligence sources and their ingestion status.
FastAPI automatically generates interactive Swagger documentation for exploring and testing the application's API endpoints.
The application runs as a multi-service Docker environment containing the FastAPI application, Celery worker, Redis message broker, MongoDB database, and Elasticsearch search engine.
- Keyword Search
- Phrase Search
- Indexed Content Retrieval
- Ranked Search Results
- Search Result Count
- Clear Search Functionality
- Search All Indexed Sources
- Filter by Individual Source
- Dynamic Source Selection
- Source-Specific Intelligence Retrieval
- Asynchronous Background Processing
- Redis Message Brokering
- Celery Worker Processing
- Non-Blocking Ingestion Workflow
- Distributed Application Architecture
- Elasticsearch Integration
- Full-Text Search
- Searchable Content Indexing
- Ranked Result Retrieval
- Source Metadata Integration
- MongoDB Persistence
- Source Record Storage
- Content Storage
- Metadata Management
- Ingestion Status Tracking
- Automated Bulk Ingestion Script
- Curated 100-Source Intelligence Repository
- Multi-Category Source Collection
- Duplicate Source Protection
- View Indexed Sources
- Refresh Source Repository
- Review Source Metadata
- Delete Individual Sources
- Repository Status Visibility
- Intelligence Workspace
- Query Workspace
- Search Intelligence Summary
- Ranked Search Results
- Source Library
- Source Repository
- Empty State Messaging
- Responsive Dashboard Layout
- Visual Section Separation
- Refined Information Architecture
- React
- JavaScript (ES6+)
- CSS3
- Python
- FastAPI
- Uvicorn
- Pydantic
- Celery
- Redis
- MongoDB
- Elasticsearch
- Docker
- Docker Compose
- Swagger UI (OpenAPI)
- Git
- GitHub
- PyCharm
- Visual Studio Code
- Submit external sources for ingestion
- Validate ingestion requests
- Track ingestion status
- Prevent duplicate source ingestion
- Search indexed intelligence content
- Filter searches by source
- Retrieve ranked search results
- Return search result counts
- Retrieve indexed sources
- Review source metadata
- Refresh source repository
- Delete individual sources
Search regulatory, financial, and government intelligence across multiple approved external sources.
Retrieve relevant information from a centralized collection of indexed organizations.
Search intelligence across cybersecurity organizations, technology sources, and government agencies.
Manage external data ingestion, background processing, indexing, and distributed application services.
Evaluate the architecture, health, scalability, and capabilities of a distributed intelligence platform.
- Software Engineering
- Distributed Systems
- Full-Stack Development
- Frontend Engineering
- Backend API Development
- REST API Development
- Asynchronous Processing
- Message Broker Integration
- Background Worker Architecture
- NoSQL Database Integration
- Search Engine Integration
- Full-Text Search
- Information Retrieval
- Data Ingestion
- Bulk Data Processing
- Metadata Management
- Containerization
- Docker Infrastructure
- Source Repository Management
- Dashboard Development
- User Interface Design
- Information Architecture
- Software Development Lifecycle (SDLC)
- Technical Documentation
- Git Version Control
git clone <repository-url>python -m venv .venvsource .venv/bin/activate.venv\Scripts\activatepip install -r requirements.txtdocker compose up -duvicorn app.main:app --reloadcelery -A app.workers.celery_app.celery_app worker --loglevel=infocd frontend
npm install
npm run devFrom the project root:
python scripts/bulk_ingest_sources.pyReact Dashboard
http://localhost:5173
Swagger UI
http://127.0.0.1:8000/docs
The core application workflow has been manually tested and validated across the distributed system.
- Docker Services
- Redis Connectivity
- MongoDB Connectivity
- Elasticsearch Connectivity
- Celery Worker Availability
- FastAPI Application Startup
- API Endpoint Availability
- Swagger UI Availability
- Individual Source Ingestion
- Bulk Source Ingestion
- Duplicate Source Protection
- Asynchronous Task Processing
- Elasticsearch Indexing
- Keyword Search
- Phrase Search
- Source Filtering
- Ranked Result Retrieval
- Search Result Counts
- React and FastAPI Integration
- Intelligence Workspace
- Query Workspace
- Search Results
- Source Filtering
- Source Repository Refresh
- Source Deletion
- Empty State Messaging
- Dashboard Layout
- User Experience Refinements
The current ingestion process retrieves and processes content from the submitted source URL.
The crawler does not yet recursively discover additional pages, documents, and links within the source domain.
Some external websites may block automated requests, apply rate limits, require JavaScript rendering, or return HTTP errors.
The current application provides keyword search and ranked information retrieval.
The system does not yet use an AI model to synthesize retrieved information into natural-language answers.
The current application is designed and tested within a local Docker-based development environment.
Cloud deployment and production infrastructure are outside the current core project scope.
The primary end-to-end application workflow has been manually validated.
A comprehensive automated unit, integration, and end-to-end testing suite has not yet been implemented.
- Deep Recursive Web Crawling
- Multi-Page Content Discovery
- PDF and Document Ingestion
- AI-Powered Retrieval-Augmented Generation (RAG)
- Natural-Language Intelligence Questions
- AI-Generated Intelligence Summaries
- Grounded AI Responses
- Source Citations
- Automated Unit Testing
- Integration Testing
- End-to-End Testing
- Cloud Deployment
- Application Monitoring
- System Observability
- Enhanced Crawler Failure Handling
- Advanced Source Repository Management
Detailed project documentation is available in the docs/ folder:
requirements.mdarchitecture.mdtechnical_design.mdroadmap.md
Version: 1.0
Project Status: โ Core Application Complete
The Distributed Web Intelligence Search Engine demonstrates a distributed enterprise-inspired full-stack software engineering application utilizing modern frontend development, REST API architecture, asynchronous background processing, message brokering, NoSQL data persistence, full-text search, containerized infrastructure, bulk source ingestion, intelligence retrieval, and source repository management.
The completed core application provides a foundation for future advanced capabilities including deep recursive web crawling and AI-powered Retrieval-Augmented Generation.





