An AI-powered full-stack application that allows users to:
- 📖 Browse a dashboard of scraped books
- 🔍 View detailed information about each book
- 🤖 Ask AI questions about books and receive intelligent answers
- 🧠 Use Retrieval-Augmented Generation (RAG) with ChromaDB
- 🏠 Run a local Large Language Model (LLM) using LM Studio
This project combines web scraping, vector databases, Django REST APIs, and a modern React frontend to create a real-world AI application.
- Displays all scraped books in a responsive card layout
- Shows title, author, rating, and description
- Includes links to the original book pages
- Displays detailed information about a selected book
- Provides a direct link to the original source
- Includes navigation to the AI Q&A page
-
Ask questions such as:
- Summarize a book
- Recommend similar books
- Explain themes and characters
-
Uses RAG to retrieve relevant book data
-
Generates answers using a locally hosted LLM in LM Studio
- Sentence Transformers create embeddings
- ChromaDB stores vector representations
- Relevant book data is retrieved before querying the model
-
Built with Django REST Framework
-
Provides endpoints for:
- Listing books
- Retrieving book details
- Asking AI questions
- Python
- Django
- Django REST Framework
- SQLite
- ChromaDB
- Sentence Transformers
- OpenAI Python SDK
- python-dotenv
- LM Studio
- Phi 3.1 Mini 4K Instruct
- React
- Vite
- Tailwind CSS
- Axios
- React Router DOM
- React Hot Toast
bookidentifier/
├── backend/
│ ├── ai_insights/
│ ├── backend/
│ ├── books/
│ ├── chroma_db/
│ ├── media/
│ ├── rag/
│ │ └── query_books.py
│ ├── scraper/
│ ├── venv/
│ ├── .env
│ ├── db.sqlite3
│ ├── manage.py
│ └── requirements.txt
│
└── frontend/
├── public/
├── src/
│ ├── assets/
│ ├── pages/
│ │ ├── Dashboard.jsx
│ │ ├── BookDetail.jsx
│ │ └── HomePage.jsx
│ ├── App.jsx
│ ├── App.css
│ ├── index.css
│ └── main.jsx
├── package.json
├── tailwind.config.js
├── postcss.config.js
└── vite.config.js
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/books/ |
Get all books |
| GET | /api/books/<id>/ |
Get book details |
| POST | /api/ask/ |
Ask AI questions |
{
"question": "Recommend books similar to A Himalayan Love Story"
}{
"question": "Recommend books similar to A Himalayan Love Story",
"answer": "Based on the themes of adventure and self-discovery..."
}git clone https://github.com/your-username/bookidentifier.git
cd bookidentifiercd backend
python -m venv venv.\venv\Scripts\Activate.ps1pip install -r requirements.txtpython manage.py migratepython manage.py runserverBackend runs at:
http://127.0.0.1:8000/
- Install LM Studio
- Download and load
Phi 3.1 Mini 4K Instruct - Open the Developer tab
- Start the Local Server
- Ensure the server is reachable at:
http://127.0.0.1:1234
Create a .env file inside backend/:
LM_STUDIO_URL=http://127.0.0.1:1234/v1
LM_STUDIO_API_KEY=lm-studio
LM_STUDIO_MODEL=phi-3.1-mini-4k-instructcd ../frontend
npm install
npm run devFrontend runs at:
http://localhost:5173/
- Summarize A Himalayan Love Story
- Recommend books similar to A Himalayan Love Story
- What are the main themes of this book?
- Suggest books about adventure and self-discovery
- Full-Stack Development
- REST API Design
- Web Scraping
- Vector Databases
- Sentence Embeddings
- Retrieval-Augmented Generation (RAG)
- Local LLM Integration
- React Routing
- Modern UI Design
Yamini Priyadarsani Behera
- GitHub: https://github.com/YAM1234-B
- LinkedIn:https://www.linkedin.com/in/yamini-priyadarsani-393aa135a/
- Django REST Framework
- React
- Tailwind CSS
- ChromaDB
- Sentence Transformers
- LM Studio
- Microsoft Phi-3



