BookNest is a full-stack web application designed to create a shared reading ecosystem. It allows users to borrow books, manage personal reading lists, and for admins to oversee books, loans, and user accounts.
- Register an account with username, email, and password
- Login/logout securely using JWT authentication
- Update profile details (username, email, password)
- View all available books
- Search for books by title, author, or genre
- Borrow and return books
- Create and manage a personal reading list (add/edit/remove)
- View profile with borrowed books and saved reading list
- Login as admin
- Access the admin dashboard
- View all registered users
- Add, update, or delete books
- View and manage all loans
- Update or remove any reading list entry or user note
- Deactivate or remove inappropriate users
- User ↔ Loan: One-to-Many
- User ↔ ReadingList: One-to-Many
- Book ↔ Loan: One-to-Many
- Book ↔ ReadingList: One-to-Many
- User ↔ Book (via ReadingList): Many-to-Many
- Flask + SQLAlchemy
- JWT Authentication
- Bcrypt for password hashing
- Flask-CORS
- React + Vite
- Tailwind CSS (or manual CSS)
- React Router
- React Toastify for notifications
git clone https://github.com/jonmaccc4/booknest.git cd booknest
- cd backend
- pipenv shell
- pip install -r - requirements.txt
- flask db init
- flask db migrate
- flask db upgrade
- flask run
- cd frontend
- npm install
- npm run dev
There are no bugs and the application works perfectly
- React Toastify
- Tailwind CSS
- React
- Flaticon icons
- Flask
- Python
- Flask JWT Extended
email: jonmac2454@gmail.com
- You can check out the video on loom.
https://www.loom.com/share/caa24376a2014764bdef7c379f00abda?sid=33e93777-a2f6-483f-9a16-bfcfbe4e1254
MIT License © 2025 jondevv