books/docs/architecture/unified-project-structure.md
Greg fa8acef423 Epic 1, Story 1.1: Project Initialization & Repository Setup
- Initialize Git repository with main branch
- Create comprehensive .gitignore for Node.js, React, and environment files
- Set up directory structure (frontend/, backend/, docs/)
- Create detailed README.md with project overview and setup instructions
- Add .env.example with all required environment variables
- Configure Prettier for consistent code formatting

All acceptance criteria met:
 Git repository initialized with appropriate .gitignore
 Directory structure matches Technical Assumptions
 README.md created with project overview and setup docs
 .env.example file with all required environment variables
 Prettier config files added for code formatting consistency

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 15:12:30 +01:00

4.2 KiB

Unified Project Structure

books/
├── .github/                    # CI/CD workflows (future)
│   └── workflows/
│       └── deploy.yaml
├── frontend/                   # React PWA application
│   ├── src/
│   │   ├── components/         # Reusable UI components
│   │   │   ├── layout/
│   │   │   ├── books/
│   │   │   ├── progress/
│   │   │   ├── calendar/
│   │   │   └── common/
│   │   ├── pages/              # Page/route components
│   │   │   ├── Home.jsx
│   │   │   ├── AddBook.jsx
│   │   │   ├── BookDetail.jsx
│   │   │   └── CalendarView.jsx
│   │   ├── hooks/              # Custom React hooks
│   │   │   ├── useBooks.js
│   │   │   ├── useProgress.js
│   │   │   └── useLogs.js
│   │   ├── services/           # API client services
│   │   │   ├── api.js
│   │   │   ├── booksService.js
│   │   │   └── logsService.js
│   │   ├── context/            # React Context providers
│   │   │   └── AppContext.jsx
│   │   ├── utils/              # Frontend utilities
│   │   │   ├── dateUtils.js
│   │   │   ├── paceUtils.js
│   │   │   └── validation.js
│   │   ├── styles/             # Global styles
│   │   │   └── index.css
│   │   └── App.jsx             # Root component
│   ├── public/                 # Static assets
│   │   ├── manifest.json       # PWA manifest
│   │   ├── icons/              # PWA icons (192, 512)
│   │   └── favicon.ico
│   ├── tests/                  # Frontend tests
│   │   ├── components/
│   │   └── utils/
│   ├── index.html
│   ├── vite.config.js          # Vite + PWA config
│   ├── tailwind.config.js      # Tailwind CSS config
│   ├── postcss.config.js
│   ├── package.json
│   ├── .env.example
│   └── Dockerfile              # Frontend container
├── backend/                    # Node.js Express API
│   ├── src/
│   │   ├── routes/             # API route definitions
│   │   │   ├── index.js
│   │   │   ├── books.js
│   │   │   ├── logs.js
│   │   │   └── health.js
│   │   ├── controllers/        # Request handlers
│   │   │   ├── booksController.js
│   │   │   └── logsController.js
│   │   ├── services/           # Business logic
│   │   │   ├── openLibraryService.js
│   │   │   └── paceCalculationService.js
│   │   ├── middleware/         # Express middleware
│   │   │   ├── errorHandler.js
│   │   │   ├── validateRequest.js
│   │   │   └── cors.js
│   │   ├── utils/              # Backend utilities
│   │   │   ├── logger.js
│   │   │   └── validation.js
│   │   ├── prisma/             # Prisma client
│   │   │   └── client.js
│   │   └── server.js           # Express app entry
│   ├── prisma/                 # Prisma schema and migrations
│   │   ├── schema.prisma
│   │   └── migrations/
│   ├── tests/                  # Backend tests
│   │   ├── controllers/
│   │   └── services/
│   ├── package.json
│   ├── .env.example
│   └── Dockerfile              # Backend container
├── docs/                       # Project documentation
│   ├── prd/                    # Sharded PRD
│   ├── architecture/           # Sharded architecture (this doc)
│   ├── brief.md
│   ├── brainstorming-session-results.md
│   └── deployment.md
├── .env.example                # Environment variables template
├── .gitignore
├── docker-compose.yml          # Local development orchestration
├── README.md                   # Project overview and setup
└── package.json                # Root package.json (optional)