A breakdown of the architecture, flow, and tooling across Python, Node.js, and Next.js for the WEAM platform.
Component | Tool / Technology |
---|---|
Backend Framework | FastAPI |
Task Queue | Celery |
Broker | Redis |
DB | MongoDB |
Auth | JWT + Middleware |
Task Monitor | Flower |
Streaming Response | FastAPI StreamingResponse |
Component | Stack |
---|---|
LLMs | OpenAI, Gemini, Anthropic, HuggingFace |
Embeddings | LangChain, Gemini, OpenAI |
Vector DB | Qdrant (Primary), Pinecone (Optional) |
Scraping / Parsing | Playwright, BeautifulSoup, Crawler4AI |
.env
based configuration separation for local/dev/prodTool | Purpose |
---|---|
Pytest | Unit Testing |
Locust | Load Testing |
WDB | Visual Debugger (Web-based) |
Docker Override | docker-compose-test.yml setup |
Tool / Layer | Description |
---|---|
Docker | Containerization of all services |
Docker Compose | Multi-env support for dev/test/local |
GitHub Actions | CI/CD pipeline (Optional: AWS CodePipeline) |
Prometheus | Metrics & Monitoring |
Async Logger | Custom logging library |
Component | Tool / Library |
---|---|
Web Server | Express.js |
Task Queue | Bull (via Redis) |
Job Scheduler | Agenda |
Auth | JWT Middleware |
ORM | Mongoose (MongoDB) |
Streaming | Socket.IO |
express-rate-limit
.env
config via dotenv
logger.js
, morgan.js
)nodemon
Component | Tool Used |
---|---|
Frontend Framework | Next.js (App Router) |
Type System | TypeScript |
Styling | Tailwind CSS |
State Management | Redux Toolkit |
Forms | Formik + Custom Inputs |
Routing | Next.js File System Routing |
Auth | Firebase + IronSession + Custom |
Module | Path / Directory |
---|---|
Auth | src/app/(auth) + src/actions/auth.ts |
Chat + Threads | src/components/Chat + src/hooks/chat |
Custom GPT | src/components/CustomGpt |
Workspace / Teams | src/components/Workspace , src/hooks/workspace |
File Uploads | src/components/FileUpload* + src/hooks/storage |
Reports | src/app/(page)/settings/reports |
/src/actions/
).env
and optional secret managers.