The Human Resource Management System (HRMS) is a comprehensive web application designed to streamline and automate HR processes within an organization. This application provides a user-friendly interface for managing employee data, authentication, and various HR operations. The HRMS application enhances organizational efficiency by centralizing employee information, automating routine HR tasks, and providing powerful analytics for data-driven decision making.
This React-based solution offers an intuitive user experience while maintaining robust security and performance standards. It's designed to scale with your organization and can be customized to meet specific business requirements.
- User Authentication: Secure login and signup functionality with role-based access control
- Dashboard: Centralized view of HR metrics and important information with customizable widgets
- Employee Management: Tools for managing employee records, profiles, documents, and information
- Leave Management: System for employees to request time off and for managers to approve/reject requests
- Attendance Tracking: Monitor employee attendance, work hours, and overtime
- Payroll Management: Calculate and manage employee salaries, deductions, and tax information
- Performance Evaluation: Tools for setting goals, conducting reviews, and tracking employee performance
- Recruitment Module: Track job openings, applications, and manage the hiring workflow
- Training & Development: Manage employee training programs and career development paths
- Reporting & Analytics: Generate custom reports and visualize HR data for better insights
- Responsive Design: Mobile-friendly interface accessible across devices
- Notification System: Real-time alerts and notifications for important updates and actions
- Frontend:
- React.js 18.x
- CSS3 with Sass/SCSS
- Material-UI components
- Responsive design with CSS Grid and Flexbox
- State Management:
- Redux (with Redux Toolkit)
- React Context API for local state
- Authentication:
- JWT-based authentication
- Secure HTTP-only cookies
- Role-based access control
- API Integration:
- RESTful API services
- Axios for HTTP requests
- React Query for data fetching and caching
- Build Tools:
- Create React App
- npm/yarn package management
- Webpack for bundling
- Testing:
- Jest for unit testing
- React Testing Library for component testing
- Cypress for end-to-end testing
- Node.js (v14.x or later)
- npm (v6.x or later) or yarn (v1.22.x or later)
- Git
-
Clone the repository:
git clone https://github.com/yourusername/hrms-app.git cd hrms-app -
Install dependencies:
npm install # or yarn install -
Set up environment variables:
- Create a
.envfile in the root directory - Add necessary environment variables (see
.env.examplefor reference)
- Create a
-
Start the development server:
npm start # or yarn start -
Build for production:
npm run build # or yarn build
hrms-app/
├── public/ # Static files
│ ├── index.html # HTML template
│ ├── favicon.ico # Favicon
│ └── ... # Other static assets
├── src/ # Source code
│ ├── assets/ # Images, fonts, etc.
│ ├── components/ # Reusable UI components
│ │ ├── common/ # Common UI components
│ │ ├── dashboard/ # Dashboard-specific components
│ │ ├── employees/ # Employee management components
│ │ └── ... # Other component directories
│ ├── contexts/ # React Context providers
│ ├── hooks/ # Custom React hooks
│ ├── layouts/ # Page layout components
│ ├── pages/ # Page components
│ ├── redux/ # Redux store, slices, actions
│ ├── services/ # API services and utilities
│ ├── styles/ # Global styles and themes
│ ├── utils/ # Utility functions
│ ├── App.js # Main App component
│ ├── index.js # Application entry point
│ └── routes.js # Application routes
├── .env # Environment variables
├── .gitignore # Git ignore file
├── package.json # Project dependencies and scripts
└── README.md # Project documentation
This project was bootstrapped with Create React App.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject, you can't go back!
If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify