tahamajs/IE / Projects /docs /Structure.md
tahamajs's picture
|
download
raw
12.6 kB

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.