How iolanta-pushchayenka/wiki-app works
Wiki App lets users browse, create, edit, and delete articles, with attachment management and live notifications. The React pages initiate HTTP requests to an Express API; article records are JSON files and uploaded attachments are stored separately. The README also describes PostgreSQL configuration and migrations, but the sampled runtime article controllers use filesystem storage, so the graph does not assert a database connection. Several frontend and routing relationships are supported by the source index; unsampled behavior is not expanded beyond those references.
Main entry points: app.js Express API · App.jsx React routes · attachmentsController.js Attachment operations · ArticlePage.jsx Article reader
Components 25
Wiki interface
- React routes
frontend/src/App.jsx - Article listing
frontend/src/pages/HomePage.jsx - Article reader
frontend/src/pages/ArticlePage.jsx - Article editor
frontend/src/components/ArticleEdit.jsx - Create article
frontend/src/components/ArticleForm.jsx - Attachment manager
frontend/src/pages/AttachPage.jsx - Article list UI
frontend/src/components/ArticleList.jsx - Article actions
frontend/src/components/ArticleMenu.jsx - Article display
frontend/src/components/ArticleView.jsx - Attachment list
frontend/src/components/AttachmentList.jsx - Attachment uploader
frontend/src/components/AttachmentUploader.jsx - Navigation header
frontend/src/components/Header.jsx - Notification toast
frontend/src/components/NotificationToast.jsx
API and runtime
- Express API
backend/src/app.js - Article routes
backend/src/routes/articles.js - Attachment routes
backend/src/routes/attachments.js - Article operations
backend/src/controllers/articlesController.js - Attachment operations
backend/src/controllers/attachmentsController.js - Upload handling
backend/src/utils/fileUpload.js - HTTP server
backend/src/server.js
Article and file storage
- Storage paths
backend/src/config.js - Article JSON files
backend/src/controllers/articlesController.js - Uploaded files
backend/src/controllers/attachmentsController.js
Live notifications
- WebSocket broadcaster
backend/src/utils/websocket.js
Other components
- Wiki user
Connections 34
- Wiki user → React routes: uses
frontend/src/App.jsx - React routes → Article listing: routes to
frontend/src/App.jsx - React routes → Article reader: routes to
frontend/src/App.jsx - React routes → Create article: routes to
frontend/src/App.jsx - React routes → Article editor: routes to
frontend/src/App.jsx - Article listing → Article list UI: renders
frontend/src/pages/HomePage.jsx - Article listing → Express API: fetches articles
- Article reader → Article display: renders
frontend/src/pages/ArticlePage.jsx - Article reader → Attachment list: renders
frontend/src/pages/ArticlePage.jsx - Article reader → Express API: fetches article
- Article editor → Attachment manager: embeds
frontend/src/components/ArticleEdit.jsx - Article editor → Express API: updates article
frontend/src/components/ArticleEdit.jsx - Create article → Express API: creates article
- Attachment manager → Attachment uploader: renders
frontend/src/pages/AttachPage.jsx - Attachment manager → Attachment list: renders
frontend/src/pages/AttachPage.jsx - Article list UI → Article actions: renders
frontend/src/components/ArticleList.jsx - Article list UI → Article reader: navigates to
- React routes → Notification toast: renders
frontend/src/App.jsx - Express API → Article routes: mounts
backend/src/app.js - Express API → Attachment routes: mounts
backend/src/app.js - Article routes → Article operations: routes to
backend/src/routes/articles.js - Attachment routes → Attachment operations: routes to
backend/src/routes/attachments.js - Attachment routes → Upload handling: configures
backend/src/routes/attachments.js - HTTP server → Express API: serves
backend/src/server.js - HTTP server → WebSocket broadcaster: initializes
backend/src/server.js - Article operations → Storage paths: reads paths
backend/src/controllers/articlesController.js - Attachment operations → Storage paths: reads paths
backend/src/controllers/attachmentsController.js - Upload handling → Storage paths: uses paths
backend/src/utils/fileUpload.js - Article operations → Article JSON files: reads and writes
backend/src/controllers/articlesController.js - Attachment operations → Article JSON files: reads and writes
backend/src/controllers/attachmentsController.js - Attachment operations → Uploaded files: writes and deletes
backend/src/controllers/attachmentsController.js - Article operations → WebSocket broadcaster: notifies
backend/src/controllers/articlesController.js - Attachment operations → WebSocket broadcaster: notifies
backend/src/controllers/attachmentsController.js - Notification toast → WebSocket broadcaster: receives updates