Reading tracker

ReadMonitor

A platform to track completed, in-progress, and planned reading, with detailed control over a personal library.

Approach
MVC architecture distributed across Controller (Next.js), Model (Node + Sequelize), and View (Expo).
Goal
Deliver a 360Β° view of reading progress with rich cataloguing and future reports.
Overview

A digital library aligned with reading routines

ReadMonitor centralises book tracking with a focus on quick lookups and detailed cataloguing.

  • Dashboard with filtered lists by status: read, in progress, and want to read.
  • Full form with bibliographic details (ISBN, CDD, CDU, type, and availability).
  • Planned statistics and personalised recommendations.
  • Architecture ready for integration with external services or dashboards.
Technical stack

Layered separation to scale with confidence

Each component owns specific responsibilities, enabling independent testing and incremental evolution.

Controller Β· Next.js

Layer responsible for routes, REST APIs, and the admin dashboard.

Model Β· Node + Sequelize

Orchestrates persistence in SQLite and the business rules layer.

View Β· Expo

Mobile interface to add, browse, and update books quickly.

Architecture

Directory organisation

The structure reinforces layer separation and simplifies independent deployments.

ReadMonitor/
β”œβ”€β”€ Controller/   # Next.js for routes/admin
β”œβ”€β”€ Model/        # Node.js + Sequelize + SQLite
β”œβ”€β”€ View/         # Mobile app via Expo
β”œβ”€β”€ db.sqlite3    # Local database
└── README.md     # Full documentation
Installation

Layer-by-layer setup flow

Prepare each module in its corresponding directory, ensuring environment variables and dependencies are correct.

  1. Clone the repository:
git clone https://github.com/eduardo45MP/ReadMonitor.git
cd ReadMonitor
  1. Configure the Controller (Next.js):
cd Controller
npm install
npm run dev  # Default port 3000
cd ..
  1. Configure the Model (Node + Sequelize):
cd Model
npm install
npm start     # Starts API + SQLite
cd ..
  1. Configure the View (Expo):
cd View
npm install
npm start    # Open the Expo app on your device
cd ..

Align each layer configuration to the same database/endpoint. Consider seed scripts to populate initial data.

Open Source

Ideas to evolve ReadMonitor

There is room for new features, integrations, and UX improvements across the web panel and the mobile app.

Statistics

Dashboards with reading time, favourite genres, and milestone tracking.

Sync and backups

Integrations with cloud services and automated library exports.

Mobile UX

Optimised flows for adding books with barcode scan or cover capture.

Review portfolio/docs/ROADMAP.md to align priorities and keep visual consistency with the guide in portfolio/docs/visualID.md.