# Project Configuration ## Project Overview - **Name**: E-commerce Platform - **Tech Stack**: Node.js, PostgreSQL, React 18, Docker - **Team Size**: 5 developers - **Deadline**: Q4 2025 ## Architecture @docs/architecture.md @docs/api-standards.md @docs/database-schema.md ## Development Standards ### Code Style - Use Prettier for formatting - Use ESLint with airbnb config - Maximum line length: 100 characters - Use 2-space indentation ### Naming Conventions - **Files**: kebab-case (user-controller.js) - **Classes**: PascalCase (UserService) - **Functions/Variables**: camelCase (getUserById) - **Constants**: UPPER_SNAKE_CASE (API_BASE_URL) - **Database Tables**: snake_case (user_accounts) ### Git Workflow - Branch names: `feature/description` hoặc `fix/description` - Commit messages: Follow conventional commits - PR required before merge - All CI/CD checks must pass - Minimum 1 approval required ### Testing Requirements - Minimum 80% code coverage - All critical paths must have tests - Use Jest for unit tests - Use Cypress for E2E tests - Test filenames: `*.test.ts` hoặc `*.spec.ts` ### API Standards - RESTful endpoints only - JSON request/response - Use HTTP status codes correctly - Version API endpoints: `/api/v1/` - Document all endpoints with examples ### Database - Use migrations for schema changes - Never hardcode credentials - Use connection pooling - Enable query logging in development - Regular backups required ### Deployment - Docker-based deployment - Kubernetes orchestration - Blue-green deployment strategy - Automatic rollback on failure - Database migrations run before deploy ## Common Commands | Command | Purpose | |---------|---------| | `npm run dev` | Start development server | | `npm test` | Run test suite | | `npm run lint` | Check code style | | `npm run build` | Build for production | | `npm run migrate` | Run database migrations | ## Team Contacts - Tech Lead: Sarah Chen (@sarah.chen) - Product Manager: Mike Johnson (@mike.j) - DevOps: Alex Kim (@alex.k) ## Known Issues & Workarounds - PostgreSQL connection pooling limited to 20 during peak hours - Workaround: Implement query queuing - Safari 14 compatibility issues with async generators - Workaround: Use Babel transpiler ## Related Projects - Analytics Dashboard: `/projects/analytics` - Mobile App: `/projects/mobile` - Admin Panel: `/projects/admin`