A simple web application to manage your family's book collection. Built with Flask and SQLite.
- Add books with title, author, call number and cover image URL
- Search books by title or author
- Edit book details
- Delete books from library
- View all books in a responsive grid layout
- Auto-formatted dates
- Make a copy in your own Replit
- Click the "Run" button
- The app will automatically start and be available in the webview
- Configure your database. The default database is SQLite and has a placeholder that indicates "Database is disconnected." That is because I have found this database set up to be unreliable and moved my deployment to PostgreSQL.
Core dependencies:
- Flask (v2.2.0)
- Flask-SQLAlchemy (v3.0.3)
- urllib3
- psycopg2-binary
Frontend dependencies (loaded via CDN):
- jQuery - For AJAX requests and DOM manipulation
- Font Awesome - For icons
- SweetAlert2 - For modal dialogs/alerts
├── instance/ # SQLite database
│ └── book.db
├── static/ # Static assets
│ ├── book.html # Main page
│ ├── book.css # Styles
│ └── book.js # Frontend JavaScript
├── main.py # Flask application
└── README.md # This file
GET /api/books/
- Get all booksGET /api/books/search?q=query
- Search booksPOST /api/books/add
- Add new bookPOST /api/books/delete
- Delete bookPOST /api/books/edit
- Edit book details
- Improve accessibility of edit and delete buttons
- Create a "view only"/way to protect a viewer from editing the collection
- This project is an iteration on the female supervillain trading card app and recipe app Skillcrush projects.