MyReader is a reading planning and tracking system that allows users to explore books, organize personal collections, write notes, and receive recommendations, using core data structures concepts.
This project is developed as part of the Data Structures course.
MyReader provides a centralized platform where users can:
- Browse a digital catalog of books
- Search and filter books by title, author, or genre
- Schedule books for reading in a personal dashboard
- Create custom reading collections
- Write and manage a general note per book
- Receive book recommendations based on reading history
The project focuses on applying data structures in a meaningful and practical way.
Each data structure is intentionally selected and justified:
- Store books within user collections
- Manage books scheduled in the user dashboard
- Represent book categories and subcategories
- Model hierarchical genre organization
- Fast lookup of books by ISBN or exact title
- Efficient indexing for search operations
- Represent relationships between books
- Used for recommendation logic:
- Same author
- Same genre or subgenre
- User registration and authentication
- Book catalog browsing
- Search and filtering
- Personal reading dashboard
- Custom collections
- General notes per book
- Book recommendation system
- Java
- Spring Boot
- RESTful API
- Vite with React
- TypeScript
- Modern component-based architecture
- NoSQL-style data modeling (conceptual or implemented)
myreader/
├── backend/ # Spring Boot application
│ ├── src/main/java
│ └── src/main/resources
├── frontend/ # Vite application
│ ├── src/
│ └── vite.config.js
└── README.md
└── .gitignore
- Java 21 or higher
- Node.js 22 or higher
cd backend
./mvnw spring-boot:runThis backend will start at:
http://localhost:8080cd frontend
npm install
npm run devThis backend will start at:
http://localhost:5173- Start the backend server
- Start the frontend development server
- Open the frontend URL in your browser
- Register a new user or log in
- Browse books and add them to your dashboard
- Create collections and write notes
- Explore book recommendations