30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
# Eigen HRIS
|
||
|
||
## Project Overview
|
||
Eigen HRIS is a modern, human‑centric Human Resource Integration System. It records employee data, contract history, daily attendance (WFO/WFH), leaves, permits, and provides a unified dashboard for analytics and gamified leaderboards (e.g., top attendance streaks, early birds, chronic latecomers, night owls).
|
||
|
||
## Tech Stack
|
||
- **Framework**: Next.js (App Router) – server actions & route handlers
|
||
- **Styling**: TailwindCSS with custom design tokens and Tailwind Animate
|
||
- **Icons**: Lucide React (replaces emojis throughout the UI)
|
||
- **Data Storage**: CSV files under `/data/*.csv` accessed via a thin Node.js CSV‑DB layer (`src/lib/csv-db.ts`).
|
||
- **Package Manager**: Yarn (Berry) – all dependencies are managed via `yarn`.
|
||
- **Avatar Generation**: Online avatar services (DiceBear, Pravatar, Unsplash, UI‑Avatars) with live preview.
|
||
- **File Uploads**: Multipart upload API (`/api/upload`) stores evidence files in `public/uploads/` for instant view/download.
|
||
|
||
## Running the Project
|
||
```bash
|
||
# 1. Install dependencies (Yarn)
|
||
yarn install
|
||
|
||
# 2. Start the development server
|
||
yarn dev
|
||
|
||
# 3. Build for production
|
||
yarn build
|
||
|
||
# 4. Start the production server
|
||
yarn start
|
||
```
|
||
The app will be available at `http://localhost:3000`. Ensure the `data/` CSV files are present (they are seeded by default) and that the `public/uploads/` folder is writable for file uploads.
|