# Cloud Reader A full-stack e-book reader application with cross-device sync. Upload EPUB/PDF files, track reading progress, bookmark passages, take notes, and customize your reading experience. ## Architecture ``` cloud-reader/ ├── backend/ # Django REST API (canonical backend) │ ├── config/ # Django project settings │ ├── apps/ │ │ ├── users/ # User auth (JWT) │ │ ├── books/ # Books, e-books, reading progress, settings │ │ └── annotations/ # Bookmarks and notes │ ├── manage.py │ └── requirements.txt ├── frontend/ # React + Vite + TypeScript (canonical frontend) │ ├── src/ │ │ ├── api/ # API client (axios with JWT refresh) │ │ ├── components/ # Reusable components │ │ ├── context/ # Auth and annotations context │ │ ├── hooks/ # Custom hooks │ │ ├── pages/ # Route pages (Library, Reader, AddBook, Auth, Settings) │ │ └── types/ # TypeScript type definitions │ └── package.json └── docker-compose.yml ``` ## Quick Start ### Docker (recommended) ```bash docker compose up --build ``` - **Frontend:** http://localhost:5173 - **Backend API:** http://localhost:8000/api/ ### Backend (standalone) ```bash cd backend pip install -r requirements.txt python manage.py migrate python manage.py runserver ``` ### Frontend (standalone) ```bash cd frontend yarn install yarn dev ``` ## Migration Notes Consolidated from duplicate `api/` + `web/` into single `backend/` + `frontend/` canonical structure. - `backend/` kept as canonical; `api/` features (e-book uploads, reading progress, reading settings) merged in. - `frontend/` kept as canonical; `web/` pages (Library, Reader, AddBook, Auth, Settings) merged in. - `api/` and `web/` directories removed.