6

ems-challenge

Employee management system web developer challenge

Employee Management System

A modern, full-stack employee management system built with React, React Router, SQLite, and Tailwind CSS. Features a dark mode interface, responsive design, and comprehensive employee and timesheet management capabilities.

Key Features

Employee Management

  • Full CRUD operations with validation
  • Document handling (photos, CVs, ID documents)
  • Advanced search, sort, and filter
  • Responsive data tables with pagination
  • Compliance checks (age, salary requirements)

Timesheet Management

  • Interactive calendar view using Schedule-X
  • Table/Calendar view toggle
  • Department-based color coding
  • Employee filtering and search
  • Time validation and work summaries

UI/UX Features

  • Dark mode with smooth transitions
  • Modern, responsive design
  • Interactive data tables
  • Real-time validation feedback
  • Confirmation dialogs
  • Color-coded departments

Tech Stack

  • Frontend: React.js, React Router
  • Backend: React Router (loaders/actions)
  • Database: SQLite
  • Styling: Tailwind CSS
  • Calendar: Schedule-X

Getting Started

  1. Clone and install dependencies:
git clone <repository-url>
cd <project-directory>
npm install
  1. Initialize the database:
npm run setup_db
npm run seed
  1. Run the application:
# Development
npm run dev
 
# Production
npm run build
npm run start

Implementation Highlights

Core Requirements (13/13 Completed)

  • ✅ Comprehensive employee data management
  • ✅ Advanced field validations
  • ✅ Intuitive navigation system
  • ✅ Integrated calendar functionality
  • ✅ Flexible view toggles

Bonus Features (12/12 Completed)

  • ✅ Document management system
  • ✅ Advanced compliance validations
  • ✅ Smart search and filtering
  • ✅ Responsive pagination
  • ✅ Time tracking validations

Production Optimizations

  • Optimized build configuration
  • Proper CSS handling
  • Asset optimization
  • Clean project structure
  • Comprehensive error handling