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.