Vexis adalah sistem absensi berbasis web modern yang dibangun dengan performa tinggi dan keamanan sebagai prioritas utama. Proyek ini menggunakan arsitektur monorepo untuk mengelola frontend React dan backend Rust.
- React 19 & Vite
- TypeScript
- Tailwind CSS v4
- Shadcn/UI components
- React Query (TanStack Query) for data fetching
- Rust & Axum 0.7+
- MongoDB (Database)
- JWT (Authentication)
- Tokio (Async Runtime)
- Registrasi & Login (Email + Password)
- Profil Pengguna dengan Lokasi & Face Embedding
- Clock In / Clock Out (Geofencing < 200m & Face Validation)
- Riwayat Absensi Pribadi
- Dashboard Admin (Rekap Absensi & Manajemen User)
- Export Data ke CSV
vexis/
├── apps/
│ ├── vexis-web/ # React Frontend
│ └── vexis-api/ # Rust Backend
├── packages/ # Shared Logic & Components
└── AGENTS.md # Instruksi khusus untuk AI Agent
- Clone repository ini.
- Install dependensi:
pnpm install
Buat file .env di root atau di dalam masing-masing app folder (lihat contoh di apps/vexis-api/.env).
Jalankan frontend dan backend sekaligus:
pnpm devOr run separately:
- Frontend:
pnpm dev:web - Backend:
pnpm dev:api
- Password di-hash menggunakan bcrypt.
- Validasi lokasi menggunakan rumus Haversine (Geofencing).
- Autentikasi menggunakan JWT dengan Refresh Token.
- Target latency request utama < 300ms.