# Technology Stack & Preferences ## ๐ฏ Current Technology Stack ### Frontend Technologies - **Primary Framework**: [React 18.x / Vue 3.x / Angular 15+ / Next.js 14+ / Other] - **Language**: [TypeScr
# Technology Stack & Preferences ## ๐ฏ Current Technology Stack ### Frontend Technologies - **Primary Framework**: [React 18.x / Vue 3.x / Angular 15+ / Next.js 14+ / Other] - **Language**: [TypeScript / JavaScript / Other] - **Styling**: [Tailwind CSS / Styled Components / CSS Modules / SCSS / Other] - **State Management**: [Redux Toolkit / Zustand / Jotai / Context API / Other] - **UI Components**: [Custom / Material-UI / Ant Design / Chakra UI / Other] - **Icons**: [Lucide / Heroicons / Font Awesome / Custom SVGs] ### Backend Technologies - **Runtime**: [Node.js 18+ / Python 3.9+ / Java 17+ / .NET 6+ / Other] - **Framework**: [Express.js / Fastify / Django / Spring Boot / ASP.NET / Other] - **Language**: [TypeScript / JavaScript / Python / Java / C# / Other] - **API Style**: [REST / GraphQL / tRPC / gRPC / Other] - **Authentication**: [JWT / Session-based / OAuth 2.0 / Auth0 / Other] ### Database & Storage - **Primary Database**: [PostgreSQL / MySQL / MongoDB / SQLite / Other] - **ORM/ODM**: [Prisma / TypeORM / Sequelize / Mongoose / Other] - **Caching**: [Redis / Memcached / In-memory / Other] - **File Storage**: [AWS S3 / Google Cloud Storage / Cloudinary / Local / Other] - **Search Engine**: [Elasticsearch / Algolia / PostgreSQL Full-text / Other] ### Infrastructure & DevOps - **Hosting Platform**: [Vercel / Netlify / AWS / Google Cloud / Azure / DigitalOcean / Other] - **Containerization**: [Docker / Podman / None] - **CI/CD**: [GitHub Actions / GitLab CI / Jenkins / CircleCI / Other] - **Monitoring**: [Sentry / DataDog / New Relic / LogRocket / Other] - **Analytics**: [Google Analytics / Mixpanel / Amplitude / PostHog / Other] ## ๐ ๏ธ Development Tools & Setup ### Code Quality & Formatting - **Linting**: [ESLint / TSLint / Pylint / Other] - **Formatting**: [Prettier / Black / Gofmt / Other] - **Type Checking**: [TypeScript / Flow / MyPy / Other] - **Pre-commit Hooks**: [Husky + lint-staged / pre-commit / Other] ### Testing Framework - **Unit Testing**: [Jest / Vitest / PyTest / JUnit / Other] - **Integration Testing**: [Testing Library / Cypress / Playwright / Other] - **End-to-End Testing**: [Playwright / Cypress / Selenium / Other] - **Test Coverage**: [Jest Coverage / NYC / Coverage.py / Other] ### Package Management - **Frontend**: [npm / yarn / pnpm / bun] - **Backend**: [npm / yarn / pip / Maven / NuGet / Other] - **Monorepo**: [Lerna / Nx / Rush / Turborepo / None] ### Development Environment - **Editor**: [VS Code / WebStorm / IntelliJ / Vim / Other] - **Extensions**: [List key extensions/plugins] - **Terminal**: [iTerm2 / Windows Terminal / Hyper / Other] - **Shell**: [Zsh / Bash / Fish / PowerShell / Other] ## ๐ Technology Preferences & Rationale ### Why We Chose Current Stack 1. **Frontend Choice**: [Reasoning for frontend framework choice] 2. **Backend Choice**: [Reasoning for backend technology] 3. **Database Choice**: [Why this database was selected] 4. **Hosting Choice**: [Rationale for hosting platform] ### Performance Considerations - **Bundle Size**: [Target size and optimization strategies] - **Database Optimization**: [Indexing strategy, query optimization] - **Caching Strategy**: [What and how we cache] - **CDN Usage**: [Content delivery strategy] ### Security Considerations - **Data Encryption**: [At rest and in transit] - **Authentication Strategy**: [How users authenticate] - **Authorization Model**: [RBAC, ABAC, etc.] - **Input Validation**: [How we validate and sanitize inputs] ## ๐ซ Technology Constraints & Limitations ### Things to Avoid - **Deprecated Technologies**: [List outdated tech to avoid] - **Incompatible Libraries**: [Known incompatible packages] - **Performance Antipatterns**: [Patterns that hurt performance] - **Security Antipatterns**: [Security practices to avoid] ### Version Constraints - **Node.js**: [Minimum version requirement] - **Browser Support**: [Minimum supported browser versions] - **Database**: [Minimum database version] - **Dependencies**: [Any pinned or constrained versions] ## ๐ง Development Standards & Conventions ### Code Style Guidelines - **Naming Conventions**: [camelCase, PascalCase, kebab-case usage] - **File Organization**: [How to structure files and folders] - **Import/Export Style**: [Named vs default exports, import ordering] - **Component Structure**: [How to organize React/Vue components] ### API Design Standards - **REST Conventions**: [Naming, HTTP methods, status codes] - **Error Handling**: [Standard error response format] - **Pagination**: [How to handle large result sets] - **Versioning**: [API versioning strategy] ### Database Conventions - **Table Naming**: [Singular vs plural, casing] - **Column Naming**: [snake_case vs camelCase] - **Migration Strategy**: [How to handle schema changes] - **Backup Strategy**: [How and when to backup data] ## ๐ฆ Package Management Guidelines ### Dependency Management - **Production Dependencies**: [Guidelines for adding prod deps] - **Development Dependencies**: [Guidelines for dev deps] - **Version Pinning**: [When to pin versions vs use ranges] - **Security Updates**: [How to handle security vulnerabilities] ### Internal Libraries - **Shared Components**: [How to share UI components] - **Utility Libraries**: [Common utility functions] - **Business Logic**: [Shared business logic packages] - **Configuration**: [Shared configuration packages] ## ๐ Migration & Update Strategy ### Planned Upgrades - **Framework Updates**: [Upcoming major version updates] - **Database Migrations**: [Planned schema changes] - **Infrastructure Changes**: [Hosting or architecture changes] - **Tooling Updates**: [Development tool updates] ### Legacy Code Handling - **Deprecation Strategy**: [How to phase out old code] - **Migration Timeline**: [When to migrate legacy components] - **Compatibility Requirements**: [What must remain compatible] - **Documentation**: [How to document legacy decisions] ## ๐ Performance Targets & Monitoring ### Performance Budgets - **JavaScript Bundle**: [Maximum bundle size] - **CSS Bundle**: [Maximum stylesheet size] - **Image Assets**: [Maximum image sizes] - **API Response Time**: [Maximum acceptable response time] ### Monitoring & Alerts - **Error Tracking**: [What errors to track and alert on] - **Performance Monitoring**: [Key metrics to monitor] - **Uptime Monitoring**: [SLA targets and monitoring] - **User Experience**: [UX metrics to track] ## ๐ Additional Notes ### Team Preferences [Any specific team preferences or constraints] ### Learning Resources [Key documentation, tutorials, or resources for the stack] ### Decision Log [Major technology decisions and their reasoning] --- **๐ Last Updated**: [Date] **๐ค Tech Lead**: [Name] **๐ Next Review**: [Date for next stack review] *This document should be reviewed and updated regularly as technology evolves and project needs change.*