Skip to content

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.

Notifications You must be signed in to change notification settings

eddiedev14/myreader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

📘 MyReader

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.


🚀 Project Overview

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.


🧠 Data Structures Used

Each data structure is intentionally selected and justified:

📄 Lists

  • Store books within user collections
  • Manage books scheduled in the user dashboard

🌳 N-ary Trees

  • Represent book categories and subcategories
  • Model hierarchical genre organization

⚡ Hash Tables

  • Fast lookup of books by ISBN or exact title
  • Efficient indexing for search operations

🕸️ Graphs

  • Represent relationships between books
  • Used for recommendation logic:
    • Same author
    • Same genre or subgenre

🧩 Main Features

  • User registration and authentication
  • Book catalog browsing
  • Search and filtering
  • Personal reading dashboard
  • Custom collections
  • General notes per book
  • Book recommendation system

🛠️ Tech Stack

Backend

  • Java
  • Spring Boot
  • RESTful API

Frontend

  • Vite with React
  • TypeScript
  • Modern component-based architecture

Data Storage

  • NoSQL-style data modeling (conceptual or implemented)

📁 Project Structure

myreader/
├── backend/          # Spring Boot application
│   ├── src/main/java
│   └── src/main/resources
├── frontend/         # Vite application
│   ├── src/
│   └── vite.config.js
└── README.md
└── .gitignore

⚙️ Installation & Setup

Prerequisites

  • Java 21 or higher
  • Node.js 22 or higher

Backend

cd backend
./mvnw spring-boot:run

This backend will start at:

http://localhost:8080

Frontend

cd frontend
npm install
npm run dev

This backend will start at:

http://localhost:5173

▶️ How to Use

  1. Start the backend server
  2. Start the frontend development server
  3. Open the frontend URL in your browser
  4. Register a new user or log in
  5. Browse books and add them to your dashboard
  6. Create collections and write notes
  7. Explore book recommendations

♥️ Made with love by Eddie Santiago Delgado and Sebastián Leiton Goyes

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published