Kelick is a web application built with React and NextJS that provides a user-friendly interface for managing HR based solutions. The application features a sidebar for navigation, various charts for data visualization, and a bulk upload feature.
![image](https://private-user-images.githubusercontent.com/35487141/405376713-eea34fd2-c704-4bf5-b921-eac9fe25a236.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4Nzk2MzEsIm5iZiI6MTczODg3OTMzMSwicGF0aCI6Ii8zNTQ4NzE0MS80MDUzNzY3MTMtZWVhMzRmZDItYzcwNC00YmY1LWI5MjEtZWFjOWZlMjVhMjM2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDIyMDIxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ5ZmU4OTE0YTc3NzJiZTc0OGE4NmZmMWVhZTJiOTQzMTA2MzE4NWQ3MzZmZDNlZmIzOTNiNTRkNjcyNmYxOTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.FKcMteefFSeA76sg7nxSF4gMBPKIEKUUO_zPM-BTvgU)
![image](https://private-user-images.githubusercontent.com/35487141/405376624-8e2d02f2-63a2-4efd-b0c7-14882aca40e2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4Nzk2MzEsIm5iZiI6MTczODg3OTMzMSwicGF0aCI6Ii8zNTQ4NzE0MS80MDUzNzY2MjQtOGUyZDAyZjItNjNhMi00ZWZkLWIwYzctMTQ4ODJhY2E0MGUyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDIyMDIxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM2OTMyZDAwZjVmOGZkNjlhOTRmNjRhYWMwYjYwNDIzNzE3ODhhNDdlYjA0NDA4YmQzODEzNmNmYzliZDhjOTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.8MHtgaizQCSzkrI9DfH_MXMeHkWPG2wRfZ633JYVogs)
To get started with the project, follow these steps:
-
Clone the repository:
git clone https://github.com/abhijithp05/kelick.git
-
Navigate to the project directory:
- Install the dependencies:
- To run the application locally, use the following command
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.
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!
For deployment,
- Prod Env
For deployment, create a Pull request from the development branch to the main branch and once changes are merged deployment will happen automatically. https://kelick.vercel.app/
Directory structure:
└── abhijithp05-kelick/
├── README.md
├── eslint.config.mjs
├── jsconfig.json
├── next.config.mjs
├── package.json
├── postcss.config.mjs
├── tailwind.config.mjs
├── .prettierrc.json
├── public/
└── src/
├── assets/
│ ├── index.js
│ └── icons/
│ └── hamburger.webp
├── components/
│ ├── app/
│ │ ├── card/
│ │ │ ├── AccountBrief.jsx
│ │ │ ├── AccountPanel.jsx
│ │ │ └── EmployeeCard.jsx
│ │ ├── dashboard/
│ │ │ └── EmployeeDashboard.jsx
│ │ ├── landing/
│ │ │ └── BuildTeam.jsx
│ │ └── modals/
│ │ ├── SuccessDialog.jsx
│ │ └── UploadFile.jsx
│ ├── charts/
│ │ └── DonutChart.jsx
│ ├── layout/
│ │ ├── Layout.jsx
│ │ ├── SideBar.jsx
│ │ ├── TopNav.jsx
│ │ └── index.js
│ ├── styles/
│ │ ├── StyledCard.jsx
│ │ └── StyledContainers.jsx
│ └── ui/
│ ├── Button.jsx
│ ├── Divider.jsx
│ ├── DropDown.jsx
│ ├── Icon.jsx
│ ├── Input.jsx
│ ├── Loader.jsx
│ ├── MenuItem.jsx
│ ├── Modal.jsx
│ ├── ProgressBar.jsx
│ ├── SegmentedProgressBar.jsx
│ ├── Table.jsx
│ ├── Text.jsx
│ └── index.js
├── constants/
│ └── appConstants.js
├── context/
│ └── AppContext.js
├── hooks/
│ ├── useFormData.js
│ ├── useFormError.js
│ ├── useLocalStorage.js
│ └── useWindowWidth.js
├── pages/
│ ├── _app.js
│ ├── _document.js
│ ├── claims.js
│ ├── index.js
│ ├── leaves.js
│ ├── payroll.js
│ └── api/
│ └── hello.js
├── screen/
│ ├── ClaimsScreen.jsx
│ ├── HomeScreen.jsx
│ ├── LeavesScreen.jsx
│ └── PayrollScreen.jsx
├── styles/
│ └── globals.css
└── utility/
├── exportToExcel.js
├── getChartData.js
└── getCount.js
- Sidebar Navigation: Easy navigation through different sections of the application.
- Charts: Visual representation of data using bar charts, line graphs, and pie charts.
- Employee Dashboard: Bulk upload employee detail using xlsx or csv files
- Responsive Design: Optimized for various screen sizes.
Branches in Git Flow:
-
main: Contains the production-ready code. Each commit on master represents a stable, deployable state.
-
developmewnt: This is the integration branch for ongoing work. All features are merged here before being released to production.
3.feature/*: Feature branches are used to develop new features or bug fixes. These are created from the develop branch and merged back into develop when complete.
-
release/: When develop is ready for a release, a release/ branch is created to prepare the code for production. This branch allows for last-minute bug fixes, documentation updates, or version number changes.
-
hotfix/*: These are emergency fixes made directly to master (or main). After the fix, the changes are merged into both master and develop to ensure consistency.
- Start with main and development.
- Create a feature/ branch from development.
- Merge the feature back into development.
- When ready for a release, create a release/ branch from development.
- Merge release/ into both main and development.
- For urgent fixes, create a hotfix/ branch from main, fix, then merge into both main and development.
Contributions are welcome! Please follow these steps to contribute:
1.Fork the repository.
- Create a new branch:
- Make your changes and commit them:
- Push to the branch:
- Open a pull request.