| ie-blog-platform/ | |
| ├── backend/ # Java backend (custom HTTP server) | |
| │ ├── pom.xml # Maven dependencies | |
| │ ├── src/ | |
| │ │ ├── main/ | |
| │ │ │ ├── java/ir/ac/ut/ece/ie/ | |
| │ │ │ │ ├── model/ # All entity classes | |
| │ │ │ │ │ ├── User.java | |
| │ │ │ │ │ ├── Article.java | |
| │ │ │ │ │ ├── Comment.java | |
| │ │ │ │ │ ├── Conversation.java | |
| │ │ │ │ │ ├── Message.java | |
| │ │ │ │ │ ├── Group.java | |
| │ │ │ │ │ ├── Notification.java | |
| │ │ │ │ │ ├── PeerReviewSubmission.java | |
| │ │ │ │ │ ├── PeerReview.java | |
| │ │ │ │ │ ├── Chemical.java | |
| │ │ │ │ │ ├── Project.java | |
| │ │ │ │ │ ├── Task.java | |
| │ │ │ │ │ ├── ResearchObject.java | |
| │ │ │ │ │ ├── Protocol.java | |
| │ │ │ │ │ ├── Poll.java | |
| │ │ │ │ │ ├── Grant.java | |
| │ │ │ │ │ ├── GraphNode.java | |
| │ │ │ │ │ ├── GraphEdge.java | |
| │ │ │ │ │ └── ... (all models) | |
| │ │ │ │ ├── repository/ # Thread‑safe in‑memory storage | |
| │ │ │ │ │ ├── UserRepository.java | |
| │ │ │ │ │ ├── ArticleRepository.java | |
| │ │ │ │ │ ├── MessageRepository.java | |
| │ │ │ │ │ ├── NotificationRepository.java | |
| │ │ │ │ │ ├── PeerReviewRepository.java | |
| │ │ │ │ │ ├── ChemicalRepository.java | |
| │ │ │ │ │ ├── ProjectRepository.java | |
| │ │ │ │ │ └── ... | |
| │ │ │ │ ├── service/ # Business logic | |
| │ │ │ │ │ ├── AuthService.java | |
| │ │ │ │ │ ├── ArticleService.java | |
| │ │ │ │ │ ├── MessageService.java | |
| │ │ │ │ │ ├── NotificationService.java | |
| │ │ │ │ │ ├── PeerReviewService.java | |
| │ │ │ │ │ ├── LabInventoryService.java | |
| │ │ │ │ │ ├── RAGService.java (LLM calls) | |
| │ │ │ │ │ ├── GrantService.java | |
| │ │ │ │ │ ├── GapAnalysisService.java | |
| │ │ │ │ │ ├── ProjectService.java | |
| │ │ │ │ │ ├── DataHubService.java | |
| │ │ │ │ │ └── ... | |
| │ │ │ │ ├── routing/ # Custom HTTP router | |
| │ │ │ │ │ ├── Router.java | |
| │ │ │ │ │ ├── Route.java (annotation) | |
| │ │ │ │ │ └── DynamicRouterInitializer.java | |
| │ │ │ │ ├── routes/ # All endpoint implementations | |
| │ │ │ │ │ ├── AuthRoutes.java | |
| │ │ │ │ │ ├── ArticleRoutes.java | |
| │ │ │ │ │ ├── MessageRoutes.java | |
| │ │ │ │ │ ├── GroupRoutes.java | |
| │ │ │ │ │ ├── NotificationRoutes.java | |
| │ │ │ │ │ ├── PeerReviewRoutes.java | |
| │ │ │ │ │ ├── LabInventoryRoutes.java | |
| │ │ │ │ │ ├── GrantRoutes.java | |
| │ │ │ │ │ ├── GapAnalysisRoutes.java | |
| │ │ │ │ │ ├── RAGRoutes.java | |
| │ │ │ │ │ ├── ProjectRoutes.java | |
| │ │ │ │ │ ├── DataHubRoutes.java | |
| │ │ │ │ │ ├── PollRoutes.java | |
| │ │ │ │ │ ├── AdminRoutes.java | |
| │ │ │ │ │ ├── TwoFactorRoutes.java | |
| │ │ │ │ │ ├── VoiceSettingsRoutes.java | |
| │ │ │ │ │ ├── RecentItemsRoutes.java | |
| │ │ │ │ │ ├── SearchRoutes.java | |
| │ │ │ │ │ ├── RecommendationRoutes.java | |
| │ │ │ │ │ └── ... | |
| │ │ │ │ ├── server/ # HTTP server core | |
| │ │ │ │ │ ├── DynamicContentServer.java | |
| │ │ │ │ │ ├── RequestHandler.java | |
| │ │ │ │ │ └── WebSocket/ # WebSocket manager | |
| │ │ │ │ │ ├── WebSocketServer.java | |
| │ │ │ │ │ └── WebSocketHandler.java | |
| │ │ │ │ ├── security/ # Auth, rate limiting, firewall | |
| │ │ │ │ │ ├── AuthFilter.java | |
| │ │ │ │ │ ├── CsrfFilter.java | |
| │ │ │ │ │ ├── RateLimiter.java | |
| │ │ │ │ │ ├── Firewall.java | |
| │ │ │ │ │ └── PasswordUtils.java | |
| │ │ │ │ ├── search/ # Inverted index (messages) | |
| │ │ │ │ │ ├── InvertedIndex.java | |
| │ │ │ │ │ └── IndexingWorker.java | |
| │ │ │ │ ├── recommendation/ # Graph & GNN recommenders | |
| │ │ │ │ │ ├── HybridRecommender.java | |
| │ │ │ │ │ ├── GNNRecommender.java | |
| │ │ │ │ │ └── PageRank.java | |
| │ │ │ │ ├── util/ # Helpers (JSON, file upload, TOTP) | |
| │ │ │ │ │ ├── JsonUtils.java | |
| │ │ │ │ │ ├── MultipartParser.java | |
| │ │ │ │ │ ├── TotpUtil.java | |
| │ │ │ │ │ └── ... | |
| │ │ │ │ └── config/ # Configuration loader | |
| │ │ │ │ ├── Config.java | |
| │ │ │ │ └── FirewallConfig.java | |
| │ │ │ └── resources/ # Static resources | |
| │ │ │ ├── firewall.properties | |
| │ │ │ ├── banned_keywords.txt | |
| │ │ │ └── log4j2.xml | |
| │ │ └── test/ # Unit & integration tests | |
| │ │ ├── java/ir/ac/ut/ece/ie/ | |
| │ │ │ ├── routes/ | |
| │ │ │ ├── service/ | |
| │ │ │ └── ... | |
| │ │ └── resources/ | |
| │ └── uploads/ # Stored files (avatars, manuscripts, etc.) | |
| │ | |
| ├── frontend/ # Vite + React frontend | |
| │ ├── index.html | |
| │ ├── package.json | |
| │ ├── pnpm-lock.yaml | |
| │ ├── tsconfig.json | |
| │ ├── vite.config.ts | |
| │ ├── .env # Environment variables | |
| │ ├── public/ # Public assets | |
| │ └── src/ | |
| │ ├── main.tsx # Entry point | |
| │ ├── App.tsx # Root component, providers, routes | |
| │ ├── index.css # Global styles (Tailwind) | |
| │ ├── vite-env.d.ts | |
| │ ├── lib/ # Core utilities | |
| │ │ ├── api.ts # Axios instance (mock/real) | |
| │ │ ├── auth.tsx # AuthProvider, useAuth | |
| │ │ ├── useWebSocket.ts # WebSocket hook | |
| │ │ ├── useSecretChat.ts # E2E encryption | |
| │ │ ├── normalize.ts # Array normalisation | |
| │ │ └── mockApi.ts # Mock API for offline dev | |
| │ ├── hooks/ # All custom hooks | |
| │ │ ├── useAuth.ts | |
| │ │ ├── useMessaging.ts | |
| │ │ ├── useUnifiedInbox.ts | |
| │ │ ├── useArticle.ts | |
| │ │ ├── useArticles.ts | |
| │ │ ├── useDashboard.ts | |
| │ │ ├── useNotifications.ts | |
| │ │ ├── usePeerReview.ts | |
| │ │ ├── useLabInventory.ts | |
| │ │ ├── useProjectSpace.ts | |
| │ │ ├── useCollaborativeEditor.ts | |
| │ │ ├── useRagSystem.ts | |
| │ │ ├── useGapAnalysis.ts | |
| │ │ ├── useGrantAssistant.ts | |
| │ │ ├── useDataHub.ts | |
| │ │ ├── useVoiceAssistant.ts | |
| │ │ ├── useDragDropOverlay.ts | |
| │ │ └── ... (all hooks) | |
| │ ├── components/ # Reusable UI components | |
| │ │ ├── layout/ # MainLayout, LoadingScreen | |
| │ │ ├── messages/ # ChatSidebar, ChatArea, MessageBubble... | |
| │ │ ├── unified-chat/ # UnifiedInbox, BroadcastChannelView | |
| │ │ ├── voice/ # VoiceAssistantWidget, VoiceRecorder | |
| │ │ ├── notifications/ # SmartNotificationCenter | |
| │ │ ├── command-palette/ # CommandPaletteProvider | |
| │ │ ├── dashboard/ # Widgets (streak, kanban, etc.) | |
| │ │ ├── article/ # Article components | |
| │ │ ├── gap-analysis/ # GraphCanvas, SearchBar | |
| │ │ ├── grant/ # GrantAssistantDashboard | |
| │ │ ├── lab/ # LabInventoryDashboard, ChemicalFormModal | |
| │ │ ├── peer-review/ # PeerReviewDashboard | |
| │ │ ├── rag/ # RagAssistantPanel | |
| │ │ ├── authoring/ # CollaborativeAuthoringStudio | |
| │ │ ├── data-hub/ # RepositoryBrowser, ProtocolsWorkspace | |
| │ │ ├── project/ # ProjectWorkspace | |
| │ │ ├── genui/ # Generative UI components | |
| │ │ ├── collaboration/ # ScientificEditor | |
| │ │ ├── workspace/ # SmartGlassWorkspace, PanelManager | |
| │ │ ├── social/ # LiveVideoRoom, PollWidget | |
| │ │ ├── flow/ # FlowPreservationProvider | |
| │ │ ├── async/ # OfflineCollaborationQueue, MultiAgentDebatePanel | |
| │ │ └── ... | |
| │ ├── pages/ # Route pages (each exports default) | |
| │ │ ├── SmartGlassPage.tsx | |
| │ │ ├── UnifiedInboxPage.tsx | |
| │ │ ├── DashboardPage.tsx | |
| │ │ ├── MessagesPage.tsx | |
| │ │ ├── ArticlesPage.tsx | |
| │ │ ├── ArticleDetailPage.tsx | |
| │ │ ├── LabInventoryPage.tsx | |
| │ │ ├── PeerReviewPage.tsx | |
| │ │ ├── ResearchAssistantPage.tsx | |
| │ │ ├── GapAnalysisPage.tsx | |
| │ │ ├── GrantAssistantPage.tsx | |
| │ │ ├── AuthoringStudioPage.tsx | |
| │ │ ├── ProjectWorkspacePage.tsx | |
| │ │ ├── NetworkingPage.tsx | |
| │ │ ├── DataHubPage.tsx | |
| │ │ ├── DiscoveryPage.tsx | |
| │ │ ├── AICoScientistPage.tsx | |
| │ │ ├── AboutPage.tsx | |
| │ │ ├── LoginPage.tsx | |
| │ │ ├── RegisterPage.tsx | |
| │ │ ├── SettingsPage.tsx | |
| │ │ ├── ProfileHubPage.tsx | |
| │ │ ├── NotFound.tsx | |
| │ │ └── ... | |
| │ ├── types/ # TypeScript type definitions | |
| │ │ ├── index.ts | |
| │ │ ├── user.ts | |
| │ │ ├── article.ts | |
| │ │ ├── message.ts | |
| │ │ ├── notification.ts | |
| │ │ ├── peer-review.ts | |
| │ │ ├── lab.ts | |
| │ │ ├── project.ts | |
| │ │ ├── rag.ts | |
| │ │ ├── workspace.ts | |
| │ │ └── ... | |
| │ └── workers/ # Web Workers (e.g., rag-worker.ts) | |
| │ | |
| ├── nginx/ # Nginx production config (optional) | |
| │ ├── nginx.conf | |
| │ └── sites-enabled/ | |
| │ └── blog-api.conf | |
| │ | |
| ├── scripts/ # Utility scripts | |
| │ ├── start-backend.sh | |
| │ ├── start-frontend.sh | |
| │ └── start-yjs-websocket.sh | |
| │ | |
| ├── firewall.properties # Shared config (symlink or copy) | |
| ├── banned_keywords.txt | |
| ├── README.md | |
| └── .gitignore |
Xet Storage Details
- Size:
- 12.6 kB
- Xet hash:
- 7770e0be7ca3e994808a88c285d85efd62876ab8cf5f614209282de6abd62e89
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.