Booksy is an online library platform that enables users to browse a digital catalog of books, view detailed book information, and order physical copies with home delivery. The system provides a convenient and user-friendly way to discover, manage, and access books from a single web application.
- Smart search and filtering: Search for books by title, author, genre or tags.
- Order system: Ability to add a book to the cart and place an order for delivery.
- Personal account: History of ordered books, "I want to read" list and current delivery status.
- AI-Powered Admin Panel: Convenient management of the library collection, order processing, and an integrated NLP service that analyzes book descriptions to automatically predict and assign genres.
- Frontend: React, Redux Toolkit, SCSS
- Backend: Node.js (Express), Python
- Database: MongoDB
Follow these steps to run the project locally on your machine.
Make sure you have the following installed:
- Node.js (v18 or higher) & npm
- Python (v3.13 or higher)
- MongoDB (local instance or MongoDB Atlas URI)
git clone https://github.com/your-username/booksy.git
cd booksyNavigate to the backend directory:
cd backendInstall dependencies:
npm installCreate a .env file in the root of the backend folder and add your environment variables:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_keyStart the backend server:
npm run dev
# or
npm startIf the NLP service runs as a separate microservice:
Navigate to the NLP/AI directory:
cd ../nlp-serviceCreate and activate a virtual environment:
python -m venv venvWindows
venv\Scripts\activatemacOS / Linux
source venv/bin/activateInstall required Python packages:
pip install -r requirements.txtRun the Python service:
python main.pyOpen a new terminal window and navigate to the frontend directory:
cd frontendInstall dependencies:
npm installStart the React development server:
npm startOnce all services are running:
- Backend:
http://localhost:5000 - Frontend:
http://localhost:3000 - NLP Service:
http://localhost:8000
Open the frontend in your browser:
http://localhost:3000
You can now explore Booksy and its features.
- Adjust the folder names (
backend,frontend,nlp-service) according to your project structure. - Make sure all required environment variables are configured before starting the application.
- If you use MongoDB Atlas, replace
MONGO_URIwith your Atlas connection string. - Ensure the backend and NLP service are running before launching the frontend.
This project is licensed under the MIT License - see the LICENSE file for details.




