codigo0/.planning/codebase/STACK.md

91 lines
2.7 KiB
Markdown
Raw Normal View History

# Technology Stack
**Analysis Date:** 2026-03-13
## Languages
**Primary:**
- TypeScript 5.2.2 - Both backend (`backend/`) and frontend (`frontend/`)
- JavaScript (via transpilation) - Runtime execution
**Secondary:**
- HTML/CSS - Static promo site (`promo-site/`)
## Runtime
**Environment:**
- Node.js (runtime for backend)
- Browser (runtime for frontend)
**Package Manager:**
- npm (lockfiles: `package-lock.json` in both `backend/` and `frontend/`)
- Lockfile: Present
## Frameworks
**Core:**
- Express 4.18.2 - Backend API server (`backend/package.json`)
- React 18.2.0 - Frontend UI library (`frontend/package.json`)
**Testing:**
- Jest 29.6.2 - Unit testing for backend (`backend/package.json`)
- ts-jest - TypeScript support for Jest
**Build/Dev:**
- Vite 4.4.9 - Frontend build tool and dev server (`frontend/package.json`)
- TypeScript 5.2.2 - Type checking and compilation for both layers
- ts-node-dev - Development server for backend (`backend/package.json`)
## Key Dependencies
**Critical (Backend):**
- `express` 4.18.2 - HTTP server framework
- `mongoose` 7.5.0 - MongoDB ODM (configured, partially implemented)
- `jsonwebtoken` 9.0.2 - Authentication tokens
- `bcryptjs` 2.4.3 - Password hashing
- `zod` 3.22.2 - Schema validation (available, not fully utilized)
- `socket.io` 4.7.2 - Real-time communication (installed, usage unclear)
**Critical (Frontend):**
- `react` 18.2.0 - UI library
- `react-router-dom` 6.15.0 - Client-side routing
- `tailwindcss` 3.3.3 - Utility-first CSS framework
- `next-themes` 0.2.1 - Dark mode handling
- `lucide-react` 0.263.1 - Icon library
- `vite` 4.4.9 - Build tool
**Infrastructure:**
- `cors` 2.8.5 - Backend CORS handling
- `helmet` 7.0.0 - Security headers
- `multer` 1.4.5-lts.1 - File upload handling
## Configuration
**Environment:**
- **Backend:** `.env` file in root (not shown in structure, referenced in code)
- Configured in `backend/src/config.ts`
- Key configs: `PORT`, `NODE_ENV`, `CORS_ORIGIN`, `MONGODB_URI`, `JWT_SECRET`, `UPLOADS_DIR`
- **Frontend:** `.env` file in `frontend/` (not read due to security rules, likely Vite env vars)
**Build:**
- **Backend:** `backend/tsconfig.json` - TypeScript configuration
- **Frontend:**
- `frontend/vite.config.ts` - Vite build configuration with path aliases
- `frontend/tailwind.config.ts` - TailwindCSS theme configuration
- `frontend/postcss.config.js` - PostCSS processing
## Platform Requirements
**Development:**
- Node.js environment (backend)
- Modern browser with ES6+ support (frontend)
**Production:**
- Node.js server for backend API
- Static file hosting for frontend (Vite build output)
- Static file hosting for promo site
---
*Stack analysis: 2026-03-13*