- 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>
4.2 KiB
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)