Used Packages & Dependencies
FaceVault is built using a modern stack of open-source libraries. Below is a list of the key packages used in
the project.
Core Dependencies
- react / react-dom: Frontend UI library for building interactive interfaces.
- express: Fast, unopinionated, minimalist web framework for Node.js.
- typescript: Adds static typing to JavaScript for better development experience.
- vite: Next-generation frontend tooling for fast builds.
Security & Authentication
- passport / passport-local: Authentication middleware for Node.js.
- face-api.js: JavaScript API for face detection and recognition in the browser.
- zod: TypeScript-first schema declaration and validation library.
- express-session: Session middleware for Express.
- csurf: CSRF protection middleware.
Database & Storage
- drizzle-orm: Lightweight and type-safe ORM for PostgreSQL.
- pg: Non-blocking PostgreSQL client for Node.js.
- multer: Middleware for handling `multipart/form-data` (file uploads).
- idb: Tiny wrapper for IndexedDB (client-side storage).
UI Components & Styling
- tailwindcss: Utility-first CSS framework.
- @radix-ui/react-*: Unstyled, accessible UI primitives (Dialog, Tooltip, etc.).
- lucide-react: Beautiful & consistent icons.
- framer-motion: Production-ready motion library for React.
- react-hook-form: Performant, flexible and extensible forms with easy validation.
Utilities
- @tanstack/react-query: Powerful asynchronous state management.
- wouter: Minimalist router for React.
- date-fns: Modern JavaScript date utility library.
- file-type: Detect file type from Buffer/Uint8Array.
Note: For a complete list of dependencies and their versions, please refer to the
package.json file in the project root.