How shakeazeez/csd_tariff_project works
CSD Tariff Project is a React client backed by a Rust API gateway and Java services for tariffs, users, and news. The main user journey is to use the calculator or industry search, receive tariff information, and retain account or chat history; separate capabilities include authentication and AI-assisted news. The README establishes the service roles and API endpoints, while excerpts show selected routing, controller, embedding, and persistence relationships. Several service-to-service and client-to-gateway links are documented only at a high level; those are marked unverified.
Main entry points: main.rs API gateway · App.jsx React app · TariffController.java Tariff API · NewsController.java News API
Components 23
User interface
- React app
frontend/tarrif-project/src/App.jsx - Tariff calculator
frontend/tarrif-project/src/pages/Calculator.jsx - Industry search
frontend/tarrif-project/src/pages/Bank.jsx - Dashboard
frontend/tarrif-project/src/pages/Dashboard.jsx - Login
frontend/tarrif-project/src/pages/Login.jsx - News chat
frontend/tarrif-project/src/pages/ChatBot.jsx - News feed
frontend/tarrif-project/src/pages/News.jsx
Gateway and auth
- API gateway
backend/router/src/main.rs - JWT authentication
backend/router/src/auth.rs
Tariff service
- Tariff API
backend/tariffCalc/src/main/java/com/tariff/calculation/tariffCalc/controller/TariffController.java - Tariff calculation
backend/tariffCalc/src/main/java/com/tariff/calculation/tariffCalc/service/TariffCalculationImpl.java - Industry search logic
backend/tariffCalc/src/main/java/com/tariff/calculation/tariffCalc/service/BankIndustrySearchServiceImpl.java - Tariff data
backend/tariffCalc/src/main/java/com/tariff/calculation/tariffCalc/tariff/Tariff.java
User service
- User API
backend/user/src/main/java/com/user/controller/GeneralUserController.java - Account authentication
backend/user/src/main/java/com/user/controller/AuthUserController.java - User records
backend/user/src/main/java/com/user/user/User.java
News service
- News API
backend/news/src/main/java/com/tariff/news/controller/NewsController.java - News analysis
backend/news/src/main/java/com/tariff/news/service/NewsEmbeddingService.java - Chat history
backend/news/src/main/java/com/tariff/news/history/ChatHistoryService.java - Chat records
backend/news/src/main/java/com/tariff/news/history/ChatHistory.java
Other components
- App user
- OpenAI API
- News API provider
Connections 26
- App user → React app: uses
- React app → Tariff calculator: routes to
frontend/tarrif-project/src/App.jsx - React app → Industry search: routes to
frontend/tarrif-project/src/App.jsx - React app → Dashboard: routes to
frontend/tarrif-project/src/App.jsx - React app → Login: routes to
frontend/tarrif-project/src/App.jsx - React app → News chat: routes to
frontend/tarrif-project/src/App.jsx - React app → News feed: routes to
frontend/tarrif-project/src/App.jsx - Tariff calculator → API gateway: requests through
- Industry search → API gateway: requests through
- Login → API gateway: requests through
- API gateway → JWT authentication: configures auth
backend/router/src/main.rs - API gateway → Tariff API: routes tariff
- API gateway → User API: routes users
- API gateway → News API: routes news
- Tariff API → Tariff calculation: delegates calculation
backend/tariffCalc/src/main/java/com/tariff/calculation/tariffCalc/controller/TariffController.java - Tariff API → Industry search logic: delegates search
backend/tariffCalc/src/main/java/com/tariff/calculation/tariffCalc/controller/TariffController.java - Tariff API → Tariff data: uses tariff data
backend/tariffCalc/src/main/java/com/tariff/calculation/tariffCalc/controller/TariffController.java - User API → User records: uses user records
backend/user/src/main/java/com/user/controller/GeneralUserController.java - Account authentication → User records: uses accounts
backend/user/src/main/java/com/user/controller/AuthUserController.java - News API → News analysis: delegates analysis
backend/news/src/main/java/com/tariff/news/controller/NewsController.java - News API → Chat history: uses history
backend/news/src/main/java/com/tariff/news/controller/NewsController.java - Chat history → Chat records: persists records
backend/news/src/main/java/com/tariff/news/history/ChatHistoryService.java - News analysis → OpenAI API: calls
backend/news/src/main/java/com/tariff/news/service/NewsEmbeddingService.java - News analysis → News API provider: fetches articles
- News chat → API gateway: requests through
- News feed → API gateway: requests through