# LibAI - AI-Powered Virtual Librarian
LibAI is an AI-powered virtual librarian designed to help students and researchers locate, summarize, and understand resources efficiently. This project integrates a Flask backend with a React frontend built using Vite and Tailwind CSS.
## Table of Contents
- [Project Status](#project-status)
- [Features](#features)
- [Installation](#installation)
- [Contributing](#contributing)
- [License](#license)
## Project Status
This project is currently in its **initial development phase**. The structure and core functionality are in place. This repository serves as a starting point for further development and improvement.
### What's Working:
- Basic project structure and routing.
- Core backend functionality (e.g., file upload, document recommendations, RAG with your documents).
- User management using Supabase
### What Needs Improvement:
- Frontend-backend alignment: Some API endpoints need to be properly connected to the frontend.
- Additional features: Content filtering, Advanced search, Note sharing, Documents deduplication, Preference filtering and responsive design are yet to be implemented.
## Features
- **User Management**: User login and signup with forget password and recover password using Supabase.
- **Smart Document Finder**: Search for books, articles, and theses.
- **Interactive Q&A**: Ask questions and get AI-generated answers.
- **Document Recommendations**: Get personalized recommendations based on user internet or document similarity.
## Installation
1. Clone the repository:
```bash
git clone https://github.com/your-username/libai-frontend.git
cd libai
```
## Getting Started
1. Install all the dependencies
```bash
pnpm install
```- Copy paste the .env.example file to create the .env.local file
cp env.example .env.local-
Run the Supabase as docker container using the docker images from the instructions given here
-
Go to .env file inside the supabase repo > docker > .env
-
Update the SMTP Section with your smtp credentials
-
Remember the following variables value (these will be used in nextjs app)
DASHBOARD_USERNAME #use this to log into supabase dashboard
DASHBOARD_PASSWORD #use this to log into supabase dashboard
SUPABASE_PUBLIC_URL #use this in nextjs
ANON_KEY #use this in nextjsFinally, run the development server:
pnpm devOpen http://localhost:3000 with your browser to see the result.
- You can check the backend code in this github repo