How asiyaibrahim478/week_6_internship works
The repository’s product is a library-management SPA backed by a .NET API, with a FastAPI assistant exposed through a resilient .NET client. The main user journey is browsing or managing books, or sending a question from the assistant UI and receiving a streamed answer. The graph also preserves documented authentication, RAG, memory, tool-calling, and AI utility capabilities, plus the separate corpus/vector-store project identified as core modules. Some subsystem links rely on README documentation because their implementation was not sampled.
Main entry points: main.py Grounded RAG · BookService.cs Book service · book-list.component.ts Book catalog UI · login.component.ts Login UI
Components 25
Angular client
- Book catalog UI
library-frontend/src/app/book-list/book-list.component.ts - Book editor
library-frontend/src/app/book-form/book-form.component.ts - Login UI
library-frontend/src/app/components/login/login.component.ts - Auth service
library-frontend/src/app/services/auth.service.ts - Assistant UI
library-frontend/src/app/components/assistant/assistant.component.ts - Chat service
library-frontend/src/app/services/chat.service.ts
Library API
- Authentication API
LibraryAPI/Controllers/AuthController.cs - Books API
LibraryAPI/Controllers/BooksController.cs - Book service
LibraryAPI/Services/BookService.cs - SQL repository
LibraryAPI/Repositories/BookRepository.cs - In-memory repository
LibraryAPI/Repositories/InMemoryBookRepository.cs - EF data context
LibraryAPI/Data/LibraryDbContext.cs - Library database
LibraryAPI/Data/LibraryDbContext.cs - Assistant proxy
LibraryAPI/Controllers/AssistantController.cs - Resilient AI client
LibraryAPI/Services/AiServiceClient.cs
AI assistant
- FastAPI endpoints
ai-service/main.py - Grounded RAG
ai-service/main.py - Prompt templates
ai-service/prompts.py - Session memory
ai-service/main.py - Availability tool
ai-service/main.py
Corpus project
- Corpus assistant
Week5_Project_LibraryAssistant/main.py - Corpus fetcher
Week5_Project_LibraryAssistant/fetch_corpus.py - Vector store
Week5_Project_LibraryAssistant/vector_store.py
Other components
- Library user
- LLM provider
Connections 22
- Library user → Book catalog UI: browses
README.md - Library user → Login UI: signs in
README.md - Library user → Assistant UI: asks
README.md - Book catalog UI → Book service: requests catalog
library-frontend/src/app/book-list/book-list.component.ts - Book editor → Book service: submits changes
library-frontend/src/app/book-form/book-form.component.ts - Login UI → Auth service: authenticates
library-frontend/src/app/components/login/login.component.ts - Auth service → Authentication API: calls auth API
library-frontend/src/app/services/auth.service.ts - Books API → Book service: delegates books
LibraryAPI/Controllers/BooksController.cs - Book service → SQL repository: uses repository
LibraryAPI/Services/BookService.cs - SQL repository → EF data context: queries
LibraryAPI/Repositories/BookRepository.cs - EF data context → Library database: reads and writes
LibraryAPI/Data/LibraryDbContext.cs - In-memory repository → Library database: fallback store
- Assistant UI → Chat service: sends prompt
library-frontend/src/app/components/assistant/assistant.component.ts - Chat service → Assistant proxy: streams request
README.md - Assistant proxy → Resilient AI client: forwards request
README.md - Resilient AI client → FastAPI endpoints: calls service
README.md - FastAPI endpoints → Grounded RAG: dispatches question
ai-service/main.py - Grounded RAG → Prompt templates: uses templates
ai-service/main.py - Grounded RAG → Session memory: updates history
ai-service/main.py - Grounded RAG → Availability tool: checks availability
ai-service/main.py - Grounded RAG → LLM provider: generates answer
- FastAPI endpoints → LLM provider: streams tokens