Boxbook

Feb 2022
PersonalFeb 20227 technologies14 features

About this project

A full-stack social book discovery and cataloging platform built as a monorepo (npm workspaces) with React 18 + Vite frontend and a Node.js/Express API backend using Prisma ORM with SQLite/Turso. Integrates the Google Books API for debounced book search with paginated results and detailed volume info.

Users build a personal catalog with books tracked by status (Pending/Reading/Read), record page-by-page reading progress with commentary history, and submit ratings. A Socket.io real-time layer handles friend requests and notifications.

The social engine enables location-based user discovery (same city/country), friend management (add/accept/remove), catalog commenting, and profile viewing. Includes yearly reading goal tracking, email-based password recovery, and a responsive Bootstrap 5 UI with AOS animations. Frontend deployed on Vercel.

Features

JWT-based authentication with login, signup, and persistent session via localStorage
Google Books API integration with debounced search, paginated results, and detailed book view
Personal book catalog with add, remove, and duplicate-check functionality
Reading progress tracking with status workflow (Pending → Reading → Read)
Page-by-page reading advancement with commentary and history log
Book rating and review system
Real-time friend request and notification system via Socket.io
Location-based user discovery (find readers in the same city/country)
Friend management: send, accept, decline, and remove friends
Catalog commentary system on friends' book catalogs
User profile with editable info, password, and yearly reading goal tracking
Email-based password recovery via Nodemailer (Outlook)
Responsive Bootstrap 5 UI with AOS animations, toast notifications, and SweetAlert2 modals
Monorepo architecture (npm workspaces) with separate frontend/backend deployable on Vercel

Tech Stack

Node.jsExpress.jsMySQLReactBootstrapSocket.ioJWT