- 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>
39 lines
3.5 KiB
Markdown
39 lines
3.5 KiB
Markdown
# Tech Stack
|
|
|
|
This is the DEFINITIVE technology selection for the entire project. All development must use these exact versions.
|
|
|
|
## Technology Stack Table
|
|
|
|
| Category | Technology | Version | Purpose | Rationale |
|
|
|----------|-----------|---------|---------|-----------|
|
|
| **Frontend Language** | JavaScript (ES6+) | Latest | Frontend development language | Simpler than TypeScript for MVP, faster development, can add TS later |
|
|
| **Frontend Framework** | React | 18+ | UI framework | Component-based, excellent LLM support, large ecosystem |
|
|
| **UI Component Library** | None (Custom + Tailwind) | N/A | UI styling | Tailwind sufficient, no component library needed for simple UI |
|
|
| **State Management** | React Context API | Built-in | Global state | Sufficient for MVP, no Redux complexity needed |
|
|
| **Backend Language** | Node.js | 20 LTS | Backend runtime | JavaScript consistency with frontend, excellent async I/O |
|
|
| **Backend Framework** | Express | 4.x | REST API framework | Minimal, flexible, well-documented, fast development |
|
|
| **API Style** | REST | N/A | API architecture | Simple, standard, no GraphQL complexity needed |
|
|
| **Database** | PostgreSQL | 15+ | Persistent data storage | Robust, ACID compliant, excellent Prisma support |
|
|
| **ORM** | Prisma | Latest | Database access layer | Type-safe, great DX, migrations, excellent PostgreSQL support |
|
|
| **Cache** | In-Memory (Node.js Map) | N/A | Book metadata cache | Simple, sufficient for single-user, no Redis needed |
|
|
| **File Storage** | N/A | N/A | File storage | No file uploads in MVP (book covers from Open Library) |
|
|
| **Authentication** | None (Single-User) | N/A | User authentication | Not needed for single-user MVP, add in v1.1 for multi-user |
|
|
| **Frontend Testing** | Vitest + React Testing Library | Latest | Component and unit tests | Fast, Vite-native, modern alternative to Jest |
|
|
| **Backend Testing** | Jest | Latest | API and unit tests | Industry standard, great Node.js support |
|
|
| **E2E Testing** | Manual | N/A | End-to-end testing | Manual testing sufficient for MVP, can add Playwright/Cypress later |
|
|
| **Build Tool** | Vite | Latest | Frontend build tool | Fast, modern, excellent DX, PWA support via plugin |
|
|
| **Bundler** | Vite (Rollup) | Latest | JavaScript bundler | Built into Vite, optimized bundles |
|
|
| **IaC Tool** | Docker Compose | Latest | Local dev orchestration | Simple, sufficient for Coolify deployment |
|
|
| **CI/CD** | Manual / Coolify | N/A | Deployment automation | Coolify handles deployment, no CI/CD pipeline needed initially |
|
|
| **Monitoring** | Coolify Built-in | N/A | Uptime monitoring | Health checks via Coolify, add dedicated monitoring post-MVP |
|
|
| **Logging** | Console (Dev) / Winston (Prod) | Latest | Application logging | Structured logging in production for debugging |
|
|
| **CSS Framework** | Tailwind CSS | 3.x | Styling framework | Utility-first, mobile-friendly, fast prototyping |
|
|
| **HTTP Client** | Fetch API (Native) | Built-in | API requests | Modern, built-in, no Axios dependency needed |
|
|
| **Date Library** | date-fns | Latest | Date manipulation | Lightweight, modular, better than Moment.js |
|
|
| **PWA Tool** | vite-plugin-pwa | Latest | PWA manifest & service worker | Easy Vite integration, handles PWA boilerplate |
|
|
| **Validation** | express-validator | Latest | Input validation | Express-specific, declarative, comprehensive |
|
|
| **Security** | helmet | Latest | Security headers | Essential HTTP security headers for Express |
|
|
| **CORS** | cors | Latest | Cross-origin requests | Configure frontend-backend communication |
|
|
|
|
---
|