91 lines
2.7 KiB
Markdown
91 lines
2.7 KiB
Markdown
# 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*
|