architecture-guide.md, entities-api.md, entities.md, how-to-contribute.md, getting-started.md, installation.md, roadmap.md, plugin-recipes.md, plugin-system.md, plugins-api.md, project-graphs.md, registry-api.md, settings-api.md, transforms-api.md, transforms.md, understanding-osintbuddy.md, writing-plugins.md, index.md, package.json, icg.svg, AppLayoutSidebar.tsx, Loaders.tsx, index.tsx, LandingPage.tsx, and 2 more files
2.2 KiB
Executable File
2.2 KiB
Executable File
title, description
| title | description |
|---|---|
| Architecture guide | The overall design and architecture of OSINTBuddy. |
This document describes the high-level architecture of OSINTBuddy. Please be aware the project is in a very early beta state and major changes may occur!
Overview
On the highest level, OSINTBuddy is a thing which lets users build interactive node based project graphs on the client, which can be expanded through data transforms that pull from: custom plugin based sources, open data sources, search engines, or for whatever you decide to implement.
Project Structure
frontend // react frontend
backend
├── backend
│ ├── app
│ │ ├── alembic // migrations
│ │ ├── app
│ │ │ ├── admin // sqladmin models
│ │ │ ├── api // controllers/api endpoints
│ │ │ │ └── api_v1
│ │ │ ├── core // env settings/celery app/logger/hashing
│ │ │ ├── crud // views/crud functions
│ │ │ ├── db // db initialization and base model classes
│ │ │ ├── models // relational data models
│ │ │ ├── schemas // pydantic/validation schemas
│ │ │ ├── plugins // data sources/user plugins
│ │ │ └── tests
│ │ └── scripts // startup/testing scripts used by docker
├── microservice
└ └── google-service // golang google crawlers
Core Services
- Frontend - React
- Backend - FastAPI
- Caching - Redis
- Graph database - JanusGraph + ScyllaDB
- Task queue - Redis & Celery
- Relational database - PostgreSQL