An open API service indexing awesome lists of open source software.

https://github.com/swayam-hingu/g17_staffgrid

A tool for managing employee accounts, profiles, attendance, salaries, and leave requests. Includes secure login, audit logs, and strong system security. User-friendly for both admins and employees.
https://github.com/swayam-hingu/g17_staffgrid

database-management figma html-css-javascript nodejs reactjs software-development

Last synced: 5 months ago
JSON representation

A tool for managing employee accounts, profiles, attendance, salaries, and leave requests. Includes secure login, audit logs, and strong system security. User-friendly for both admins and employees.

Awesome Lists containing this project

README

          

# G17_StaffGrid

# Employee Management System (EMS)

**Description**: A comprehensive tool for managing employee accounts, profiles, attendance, salaries, leave requests, and more. Features secure login, audit logs, and system security. Easy to use for both admins and employees.

---

## Team Members

| ID | Name |
| :-------: | ---------------- |
| 202201189 | Pari Chauhan |
| 202201191 | Kashyap Trivedi |
| 202201207 | Swayam Hingu |
| 202201211 | Avinash Baraiya |
| 202201216 | Jeet Patel |
| 202201217 | Kisan Thakor |
| 202201219 | Chirag Chaudhari |
| 202201232 | Kshitij Patel |
| 202201235 | Hemal Ravrani |
| 202201238 | Riddhi Mistry |
| 202201250 | Parth Prajapati |

---

## ๐Ÿš€ Motivation

- **Group Collaboration** ๐Ÿ‘ฅ: The Employee Management System project is developed as a team, helping us work together to solve real-world software problems ๐Ÿ’ป.
- **Key Software Engineering Concepts** ๐Ÿ› ๏ธ: As a team, we apply important concepts like database design ๐Ÿ—ƒ๏ธ, system integration ๐Ÿ”—, and user authentication ๐Ÿ”’.
- **Real-World Development Process** ๐Ÿงช: In real-world development, it's not just about coding; testing ๐Ÿงช, structuring the project ๐Ÿ—๏ธ, and ensuring proper documentation ๐Ÿ“š are also crucial parts of the process.
- **Skill Development** ๐Ÿค: This project enhances our teamwork, problem-solving ๐Ÿง , and communication ๐Ÿ’ฌ skills.
- **Hands-On Experience** ๐ŸŽ“: It gives us practical experience in building a scalable system, managing workflows ๐Ÿ”„, and working effectively as a team.
- **Preparation for the Future** ๐ŸŒŸ: This project helps us develop essential skills for any software engineer, from coding to project management.

---

## ๐Ÿ”ง Tools

### **Frontend** ๐Ÿ–ฅ๏ธ
- **React** โš›๏ธ: Used for building the dynamic and interactive user interface.
- **HTML** ๐Ÿ“„: Provides the basic structure of web pages.
- **CSS** ๐ŸŽจ: Styles the pages and ensures responsiveness across devices.

### **Backend**
- **Node.js** ๐ŸŸฉ: Powers the backend server and handles API requests.
- **Express.js** โšก: A web application framework for Node.js, used to build the backend API.
- **MongoDB** ๐Ÿ—„๏ธ: A NoSQL database used to store and manage employee data, offering flexibility and scalability.

### **Testing & Performance** โš™๏ธ
- **JMeter** ๐Ÿš€: Used for performance and load testing to ensure scalability.
- **BlazeMeter** ๐ŸŒ: An online platform for load testing and performance testing in various environments.
- **Mocha** ๐Ÿงช: A testing framework for unit and integration tests to ensure code quality.
- **Selenium IDE** ๐Ÿง‘โ€๐Ÿ’ป: Used for **GUI testing** to automate and verify the user interface interactions in the browser.

### **AI & Code Assistance** ๐Ÿค–
- **GitHub Copilot** ๐Ÿ’ก: AI-powered code completion tool to assist in writing code faster.
- **ChatGPT** ๐Ÿ—ฃ๏ธ: Used for code suggestions, debugging, and problem-solving during development.

### **Collaboration & Version Control** ๐Ÿ”„
- **GitHub** ๐Ÿง‘โ€๐Ÿ’ป: Version control and collaboration platform for managing project code and workflows.

### **Design** ๐ŸŽจ
- **Draw.io** ๐Ÿ–๏ธ: Used to create system architecture diagrams and flowcharts for visual representation.
- **Figma** ๐Ÿง‘โ€๐Ÿ’ป: Used to create prototype of the website.

---

## ๐Ÿ–ฅ๏ธ Running the Project Locally

To run this project on your local machine, follow these steps:

### 1. Clone the Repository
Clone the project repository and navigate into the project directory:
```bash
git clone https://github.com/Swayam-Hingu/G17_StaffGrid.git
cd G17_StaffGrid
```

### 2. Install Dependencies
Ensure you have [Node.js](https://nodejs.org/) and [npm](https://www.npmjs.com/) installed on your machine. Then, install the dependencies for both the backend and frontend:

```bash
# Navigate to the backend directory and install dependencies
cd backend
npm install

# Navigate to the frontend directory and install dependencies
cd ../frontend
npm install
```

### 3. Set Up Environment Variables
Create a `.env` file in both the backend and frontend directories. Add the required environment variables as specified in the `.env.example` files in each directory.

### 4. Run the Backend
Start the backend server:
```bash
cd backend
npm start
```

### 5. Run the Frontend
In a new terminal window, navigate to the frontend directory and start the frontend server:
```bash
cd frontend
npm start
```

### 6. Open in Browser
- Frontend: Navigate to `http://localhost:3000` in your browser to view the application.
- Backend: The backend server will typically run on `http://localhost:5000` or another specified port.