# 📚 Advanced Personal Books Library Manager
**Advanced Personal Books Library Manager** is a beautifully designed, feature-rich web app built with [Streamlit](https://streamlit.io). Manage your personal book collection effortlessly with an intuitive interface, user authentication, dynamic data visualizations, advanced search tools, and CSV import/export—all wrapped in a responsive, modern UI.
---
## ✨ Key Features
- **User Authentication**
- Secure Sign Up / Sign In system with user-specific data storage.
- **Complete Book Management (CRUD)**
- Add, edit, or delete books with details like title, author, genre, year, status, and favorites.
- Advanced search, sorting, and filtering to quickly locate books.
- **Visual Analytics Dashboard**
Gain insights into your reading habits:
- Genre-wise bar charts
- Read vs. unread pie chart
- Publication year histogram
- **Data Import / Export**
- Import/export your library as a CSV file for backups or portability.
- **Modern, Responsive UI**
- Custom CSS styling
- Header banner
- Clean and responsive layout for desktop & mobile
---
## 📦 Tech Stack & Requirements
- Python 3.7+
- [Streamlit](https://streamlit.io/)
- [Plotly](https://plotly.com/)
- [Pandas](https://pandas.pydata.org/)
---
## ⚙️ Installation
1. **Clone the Repository**
```bash
git clone https://github.com/usama7871/ADVANCED-PERSONAL-BOOKS-LIBRARY-MANAGER.git
cd ADVANCED-PERSONAL-BOOKS-LIBRARY-MANAGER
-
Set Up a Virtual Environment (Recommended)
python -m venv venv # Activate (Windows) venv\Scripts\activate # Activate (Linux/Mac) source venv/bin/activate
-
Install Dependencies
pip install -r requirements.txt
Launch the application locally:
streamlit run app.py
Then open your browser to access the app. Sign up or log in to start managing your library.
Live Demo: https://library-books.streamlit.app
- Log in to Streamlit Cloud using GitHub.
- Click "New App", select your repo, set the branch and
app.py
as the main file. - Hit Deploy.
Create a Procfile
:
web: streamlit run app.py --server.enableCORS false
Then follow standard Heroku Python app deployment steps.
If you haven't already initialized Git:
git init
git add .
git commit -m "Initial commit"
Connect to your remote repo:
git remote add origin https://github.com/usama7871/ADVANCED-PERSONAL-BOOKS-LIBRARY-MANAGER.git
Push your code:
git branch -M main
git push -u origin main
Contributions are highly welcome!
Feel free to fork this repo, create a feature branch, and submit a pull request. For major changes, open an issue to discuss first.
This project is licensed under the MIT License.
Built with passion by Usama
Happy coding & keep reading!
---