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
57 lines
1.9 KiB
Markdown
57 lines
1.9 KiB
Markdown
# 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. |