Libraries - pacificnm/wiki-ai GitHub Wiki

๐Ÿ“ฆ Project Dependencies

This document lists the libraries and tools used in the AI Wiki Markup App, organized by functionality.


๐Ÿ–ฅ๏ธ Frontend (React + MUI)

Library Purpose
react Core UI framework
react-dom React DOM renderer
@mui/material Material UI components
@emotion/react, @emotion/styled MUI styling engine
@uiw/react-md-editor or react-markdown-editor-lite Markdown editor
axios HTTP client for API calls
firebase Firebase Auth SDK
react-router-dom Routing and navigation
zod Client-side validation
classnames (optional) Conditional class names

๐Ÿง  AI & Prompting

Library Purpose
openai Node.js SDK to access OpenAI API
dotenv Load environment variables for OpenAI keys

๐Ÿ”ง Backend (Node.js + Express)

Library Purpose
express Core web server framework
cors CORS middleware
morgan HTTP request logger middleware
body-parser Parse incoming JSON and form data
firebase-admin Admin access for Firebase user claims
zod Schema validation (shared with frontend)
multer File upload handling
uuid Generate unique IDs for attachments, etc.

๐Ÿ—ƒ๏ธ Database (MongoDB)

Library Purpose
mongoose MongoDB ORM for schema modeling
mongodb Native MongoDB driver (optional/advanced use)

๐Ÿชต Logging

Library Purpose
winston or pino Centralized logging (errors, info, etc.)
express-winston Log HTTP requests and errors (if using winston)

๐Ÿ“ค Exporting

Library Purpose
markdown-pdf Convert Markdown to PDF
html-pdf or puppeteer PDF export using HTML rendering
docx or html-docx-js Export to Word .docx format

๐Ÿงช Testing (Optional)

Library Purpose
jest JavaScript testing framework
supertest Test HTTP APIs

๐Ÿ› ๏ธ Dev Tools

Library Purpose
nodemon Auto-restart server on file changes (dev only)
concurrently Run frontend and backend together
eslint, prettier Code formatting and linting

๐Ÿ’ก You can install frontend and backend packages separately using npm install inside /client and /server directories.