Skip to content

arunike/WorkOps-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘” WorkOps - HR Management System Frontend

A comprehensive Human Resources management system designed to streamline employee administration, visualize organizational structure, and foster company culture through social features.

React Material UI Go MySQL

πŸ“‹ Table of Contents

🌟 Overview

WorkOps is a modern web application that transforms standard HR tasks into an interactive and data-driven experience. It combines traditional employee management with social recognition features and powerful analytics.

Key Capabilities:

  • πŸ‘₯ Comprehensive Employee Profiles: Manage personal details, emergency contacts, documents, and notes.
  • πŸ“Š Interactive Dashboard: Real-time data visualization for headcount, salary trends, and department breakdowns.
  • ❀️ Social Recognition: "Give Thanks" feed to foster company culture with likes and comments.
  • βš™οΈ Admin Control: Granular permission settings for dashboard visibility, menu access, and system defaults.
  • πŸ“… Time Management: Robust Time Entry and Time Off request systems with approval workflows.
  • 🌴 Holiday Management: Configurable company holidays and calendar integration.
  • πŸ“± Responsive Design: Fully responsive interface built with Material-UI.

πŸ“Έ Screenshots

Dashboard

Dashboard

Associates & Profile

All Associates Associate Profile
All Associates Associate Profile
New Associate
New Associate

Time Management

Time Entry Time Off Requests
Time Entry Time Off

Approvals Workflows

Time Entry Approvals Time Off Approvals
Time Entry Approvals Time Off Approvals

Org Structure & Team

Hierarchy My Team
Hierarchy My Team

Culture & Recognition

All Thanks Give Thanks
All Thanks Give Thanks

Administration

Admin Dashboard Task Management
Admin Tasks

✨ Features

πŸ” Authentication & Security

  • Secure login and registration system.
  • Password management (Change Password, Forgot Password flows).
  • Automated user account creation for new employees.
  • Role-based access control (Admin vs Standard User).
  • Detailed Menu Permission system to control sidebar visibility by Title or Department.

🏠 Home Dashboard

  • Headcount Metrics: Total employed, active vs terminated.
  • Financial Analytics: Average salary tracking and history.
  • Visual Graphs: Department and Office distribution charts.
  • Timelines: Upcoming birthdays and work anniversaries.
  • Configurable Widgets: Admin-controlled visibility for sensitive widgets.

πŸ‘₯ Associate Management

  • Profile Management: Upload profile pictures, manage contact info.
  • Document Repository: Upload and categorize associate documents.
  • Org Chart: Visual hierarchy and "My Team" views.
  • Status Tracking: Active/Terminated status management.

πŸ“… Time & Attendance

  • Time Entry: Employees can log hours with overtime calculation.
  • Time Off: PTO requests with balance tracking.
  • Holiday Management: Admin-managed company holidays appear on calendars.
  • Approvals: Dedicated approval interfaces for Managers, Head of Departments, and CEO.

❀️ Social & Culture

  • Give Thanks Feed: Public recognition board.
  • Interactions: Like and comment on recognition posts.
  • Notifications: Alerts for new interactions and system events.

βš™οΈ Automation & Admin

  • Approval Workflows: Tasks for salary increases and title promotions.
  • System Settings: Configurable default passwords and categories.
  • Permission Management: Control widget and menu visibility.
  • Database Management: Add/Edit Offices, Departments, and other metadata.

πŸ›  Tech Stack

Core Framework

  • React 17 - UI library
  • Vite - Build tool
  • React Router v6 - Client-side routing

State Management & Data

  • Context API - Global state (Auth, Associates, Notifications)
  • Local Storage - Session persistence

UI Components & Styling

  • Material-UI (MUI) - Enterprise-grade UI component library
  • MUI Icons - Iconography
  • Framer Motion - Animations and transitions

Data Visualization

  • Recharts - Composable charting library
  • React ApexCharts - Interactive visualizations
  • React Big Calendar - Calendar views for Time Off

Tools & Utilities

  • Formik & Yup - Form handling and validation
  • Moment.js / Date-fns - Date manipulation
  • React Dropzone - File uploads

πŸš€ Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • Docker & Docker Compose (for full stack)
  • Go 1.21+ (if running backend locally without Docker)

Installation

  1. Clone the repository

    git clone <repository-url>
  2. Start the Backend (Required) The frontend requires the backend API to be running.

    # From the root directory
    docker compose up --build -d api

    The backend will start on http://localhost:8081

  3. Install Frontend Dependencies

    cd frontend
    npm install
  4. Start the Frontend Development Server

    npm start
  5. Open Your Browser Navigate to http://localhost:3000

Quick Start (Full Stack)

To start everything (Frontend + Backend + DB) with one command:

docker compose up --build

πŸ“ Project Structure

frontend/
β”œβ”€β”€ public/                 # Static assets (images, favicon)
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/             # Images and demo screenshots
β”‚   β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ Associate/      # Associate-related components
β”‚   β”‚   β”œβ”€β”€ Graphs/         # Dashboard charts
β”‚   β”‚   β”œβ”€β”€ Tasks/          # Approval task components
β”‚   β”‚   └── Thanks/         # Social feed components
β”‚   β”œβ”€β”€ layouts/            # Page layouts (Dashboard, LogoOnly)
β”‚   β”œβ”€β”€ pages/              # Main page views
β”‚   β”‚   β”œβ”€β”€ Admin/          # System configuration
β”‚   β”‚   β”œβ”€β”€ Approvals/      # Time Entry & Time Off Approvals
β”‚   β”‚   β”œβ”€β”€ Home/           # Dashboard
β”‚   β”‚   β”œβ”€β”€ Login/          # Auth pages
β”‚   β”‚   β”œβ”€β”€ MyTeam/         # Team views
β”‚   β”‚   └── TimeOff/        # Time Off management
β”‚   β”œβ”€β”€ utils/              # Utilities and Helpers
β”‚   β”‚   └── context/        # React Context definitions
β”‚   β”œβ”€β”€ routes.js           # Route definitions
β”‚   β”œβ”€β”€ theme/              # MUI Theme configuration
β”‚   └── App.js              # Root component
β”œβ”€β”€ package.json            # Dependencies
└── README.md               # This file

βš™οΈ Configuration

API Endpoint

The frontend connects to the Go backend. By default, it expects the backend at http://localhost:8081. Admin configuration features (Dashboard visibility, Default passwords, Menu permissions) are available in the Admin tab of the application.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘€ Author

Richie Zhou

About

Human Resources Management System

Topics

Resources

License

Stars

Watchers

Forks

Languages