How yogeshwaar/syvi works
SYVI is a Spring Boot AI chatbot backend: users authenticate, submit natural-language questions, receive LLM responses, and can retrieve saved chat history; public endpoints also support email-OTP verification. Admins can manage users and public/internal prompts. The README documents MongoDB Atlas and NVIDIA LLM integration; those external connections are shown where documented, while unsampled implementation details are not inferred.
Main entry points: UserService.java User service · PublicController.java Public API · OtpVerificationService.java OTP verification · ChatServiceImpl.java Chat service
Components 22
API workflows
- Public API
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/PublicController.java - User API
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/UserController.java - Admin API
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/AdminController.java - Domain models
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/entity
Identity and access
- User service
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/UserService.java - OTP verification
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/OtpVerificationService.java - Email service
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/EmailService.java - JWT utilities
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/utils/JwtUtil.java - Security filter
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/filter/JwtFilter.java - User repository
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/repository/UserRepository.java
Chat and AI
- AI API
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/AiController.java - Chat service
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/ChatServiceImpl.java - AI service
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/AiService.java - Chat repositories
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/repository - MongoDB Atlas
- NVIDIA LLM
Prompts and email
- Prompt handler
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/helper/PromptHandler.java - Prompt files
chat-bot-ai (2)/prompts - Email template
chat-bot-ai (2)/chat-bot-ai/src/main/resources/templates/email-body.html - Template constants
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/helper/ConstantFileHandler.java
Other components
- User
- Admin
Connections 22
- User → Public API: uses
- User → AI API: asks
- Admin → Admin API: manages
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/AdminController.java - Public API → OTP verification: verifies OTP
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/PublicController.java - OTP verification → Email service: sends email
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/OtpVerificationService.java - OTP verification → Email template: uses body
- OTP verification → MongoDB Atlas: stores OTP
- Public API → User service: registers users
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/PublicController.java - Public API → JWT utilities: creates token
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/PublicController.java - User service → User repository: persists users
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/UserService.java - User API → User service: manages users
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/UserController.java - Admin API → User service: manages users
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/AdminController.java - Admin API → Prompt handler: manages prompts
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/AdminController.java - Prompt handler → Prompt files: loads and updates
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/helper/PromptHandler.java - Prompt handler → Template constants: loads template
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/helper/PromptHandler.java - Template constants → Email template: reads template
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/helper/ConstantFileHandler.java - AI API → Chat service: handles chat
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/controller/AiController.java - Chat service → AI service: requests response
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/ChatServiceImpl.java - AI service → NVIDIA LLM: queries model
README.md - Chat service → Chat repositories: saves and reads chats
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/ChatServiceImpl.java - Chat service → User service: loads user
chat-bot-ai (2)/chat-bot-ai/src/main/java/com/coeta/group5/chat_bot_ai/service/ChatServiceImpl.java - Chat repositories → MongoDB Atlas: stores conversations
README.md