- 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>
98 lines
4.2 KiB
Markdown
98 lines
4.2 KiB
Markdown
# 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)
|
|
```
|
|
|
|
---
|