OMS is a web-based application designed to manage organizational structures and employee information efficiently. It provides features to create, visualize, and manipulate the organizational hierarchy, as well as manage employee data.
-
Employee Management: Add, edit employee records, including details like name, designation, team, and manager.
-
Organizational Chart: Visualize the organizational structure using an interactive and draggable org chart.
-
Search and Filter: Search for employees by name or team, and filter them based on specific criteria.
-
Team Filtering: Filter employees by their assigned teams to focus on specific groups within the organization.
-
Create Employee Dialog: A dialog box to conveniently add new employees to the system with required details.
-
Drag and Drop: Drag and drop functionality to easily rearrange employees within the organizational chart.
-
Responsive Design: User-friendly interface that adapts to different screen sizes for optimal viewing experience.
- Clone the repository from GitHub:
git clone https://github.com/The-Robin-Hood/oms.git
- Navigate to the project directory:
cd oms
- Install dependencies:
bun install
- Change the filename .env.example to .env
- Run the server:
bun run server
- Run the client:
bun run client
- Or you could simply run
bun dev
- Access the application in your web browser at
http://localhost:5173
- Upon accessing the application, you will see the main dashboard displaying the organizational chart and employee list.
- Use the search bar to search for specific employees by name or team.
- Filter employees by team using the dropdown menu.
- Click on an employee node in the org chart to view detailed information.
- Use the create employee dialog to add new employees to the system.
- Drag and drop employee nodes in the org chart to rearrange the organizational structure.
- React: Frontend library for building user interfaces.
- React DnD: Drag and drop library for React.
- React Organizational Chart: Component library for building organizational charts.
- Tailwind CSS: CSS framework for styling.
- Vite: Frontend build tool.
- Bun: Development server for running the application.
- TypeScript: Typed superset of JavaScript.
- eslint: Linter for identifying and reporting patterns in JavaScript/TypeScript code.
- prettier: Code formatter to maintain consistent code style.
- vitest: Test runner for unit testing.