How djsadd/sciencejournal-miscorservices-and-frontend works
ScienceJournal is a microservices journal platform with a role-based frontend for authors, reviewers, editors, administrators, and public readers. Users submit and manage articles, participate in editorial and peer-review workflows, and access published articles and volumes; supporting capabilities include identity and profiles, notifications, file handling, layout, AI review, and analytics. The frontend calls a shared API gateway, which is configured with backend service URLs. Several service links are documented by configuration or explicit HTTP calls; unsampled router implementations limit certainty about other runtime connections.
Main entry points: config.py Service routing config · App.tsx Role-based portal · reviews_router.py Peer review · client.ts API client
Components 20
Journal frontend
- Role-based portal
ScienceJournalFrontend/src/App.tsx - API client
ScienceJournalFrontend/src/api/client.ts - Author submissions
ScienceJournalFrontend/src/features/authors/AuthorSubmissions.tsx - Editorial article views
ScienceJournalFrontend/src/pages/EditorArticleDetailPage.tsx
API gateway
- Gateway routing
API Gateaway/app/main.py - Service routing config
API Gateaway/app/config.py
Identity and profiles
- Authentication
Auth - Identity Service/app/auth_router.py - User profiles
User Profile Service/app/users_router.py
Editorial workflow
- Articles and volumes
Article Management Service/app/articles_router.py - Editorial workflow
Editorial Workflow Service/app/router.py - Peer review
Review Service/app/reviews_router.py - AI review
AI Review Service/app/router.py
Publishing
- Publication
Publication Service/app - Layout records
Layout Service/app/router.py
Platform services
- File processing
FileProcessingService/app/router.py - File storage
FileStorageService/app/router.py - Notifications
Notification Service/app/routers/notifications.py - Usage analytics
Analytics - Metrics Service/app/main.py - Shared database module
Layout Service/app/database.py
Other components
- Journal users
Connections 24
- Journal users → Role-based portal: uses
ScienceJournalFrontend/src/App.tsx - Role-based portal → Author submissions: routes to
ScienceJournalFrontend/src/App.tsx - Role-based portal → Editorial article views: routes to
ScienceJournalFrontend/src/App.tsx - Author submissions → API client: requests through
- Editorial article views → API client: requests through
- API client → Gateway routing: sends API requests
ScienceJournalFrontend/src/api/client.ts - Gateway routing → Service routing config: loads config
API Gateaway/app/main.py - Service routing config → Authentication: configures URL
API Gateaway/app/config.py - Service routing config → User profiles: configures URL
API Gateaway/app/config.py - Service routing config → Articles and volumes: configures URL
API Gateaway/app/config.py - Service routing config → Peer review: configures URL
API Gateaway/app/config.py - Service routing config → Editorial workflow: configures URL
API Gateaway/app/config.py - Service routing config → Layout records: configures URL
API Gateaway/app/config.py - Service routing config → Publication: configures URL
API Gateaway/app/config.py - Service routing config → Notifications: configures URL
API Gateaway/app/config.py - Service routing config → Usage analytics: configures URL
API Gateaway/app/config.py - Service routing config → AI review: configures URL
API Gateaway/app/config.py - Authentication → User profiles: updates contact
Auth - Identity Service/app/auth_router.py - Peer review → Articles and volumes: updates assignment
Review Service/app/reviews_router.py - Peer review → Notifications: requests notification
Review Service/app/reviews_router.py - Articles and volumes → Shared database module: imports database module
Article Management Service/app/articles_router.py - Editorial workflow → Shared database module: imports database module
Editorial Workflow Service/app/router.py - Layout records → Shared database module: uses database
Layout Service/app/router.py - File processing → File storage: delegates to