Archived
- backend/ kept as canonical, api/ features merged (EBook, ReadingProgress, ReadingSettings) - frontend/ kept as canonical, web/ pages merged (Library, Reader, AddBook, Auth, Settings) - Added Dockerfiles for backend/ and frontend/ - Updated docker-compose.yml for consolidated services - Updated README, package.json workspaces - api/ and web/ directories removed
1.9 KiB
1.9 KiB
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)
docker compose up --build
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000/api/
Backend (standalone)
cd backend
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
Frontend (standalone)
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/andweb/directories removed.