Work-in-progress Project — First Commit
Bookshelf Scanner is a Flask web application that allows users to:
- Track their reading habits.
- Set personal reading preferences.
- Upload photos of their bookshelf to automatically detect books using AI.
- Receive AI-generated book recommendations based on their preferences.
This project uses OpenAI’s ChatGPT API for generating book recommendations and identifying books in uploaded images.
-
User Authentication
- Register, login, and logout.
- Save personal reading preferences.
-
Bookshelf Scanner
- Upload a photo of your bookshelf.
- AI detects books in the image and lists them.
-
AI Recommendations
- Based on saved preferences, users can generate AI-powered book suggestions.
- Backend: Flask, SQLAlchemy, Flask-Login, Flask-WTF, Flask-Bootstrap5
- Database: SQLite (default, can be replaced with PostgreSQL or MySQL)
- AI Integration: OpenAI API (
gpt-4.1-mini) - Front-end: Bootstrap 5, HTML, CSS
- Clone the repository:
git clone https://github.com/your-username/Shelfscanner.git
cd Shelfscanner- Install dependencies (use your virtual environment):
pip install -r requirements.txt- Create a
.envfile in the project root with:
FLASK_KEY=your_secret_key
OPENAI_API_KEY=your_openai_api_key
DATABASE_URL=sqlite:///books.db
- Run the app:
python main.py- Visit
http://127.0.0.1:5000in your browser.
- Register or log in.
- Set your reading preferences (favorite genres and authors).
- Upload a photo of your bookshelf to scan books.
- Generate AI-powered book recommendations.
- This is a work-in-progress project.
- Not all features are fully polished.
- Primarily intended to showcase Flask integration with AI APIs.
This project is open-source and available under the MIT License.