{"id":22760309,"url":"https://github.com/techjmi/marrf","last_synced_at":"2025-10-30T07:35:06.550Z","repository":{"id":267181523,"uuid":"900471200","full_name":"techjmi/marrf","owner":"techjmi","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-08T21:24:57.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-05T10:50:23.525Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/techjmi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-08T21:07:48.000Z","updated_at":"2024-12-08T21:25:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"4fb7171e-48e5-4e9c-9af2-304b5f3e5f0f","html_url":"https://github.com/techjmi/marrf","commit_stats":null,"previous_names":["techjmi/marrf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techjmi%2Fmarrf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techjmi%2Fmarrf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techjmi%2Fmarrf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techjmi%2Fmarrf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techjmi","download_url":"https://codeload.github.com/techjmi/marrf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246296582,"owners_count":20754632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-11T09:06:40.331Z","updated_at":"2025-10-30T07:35:06.472Z","avatar_url":"https://github.com/techjmi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# Search And Filter Functionality Assignment\n\n## Overview\nThe **Search And Filter Functionality Assignment**  is a web application developed using **React** and connected to a backend API for managing employees. The system allows users to perform CRUD operations on employee data, including **viewing**, **editing**, and **deleting** employee records. Additionally, search and filter functionalities are implemented to enhance usability.\n\n### Features:\n- **CRUD Operations**: View, Edit, and Delete employee data.\n- **Search Functionality**: Search employees by name, email, designation, and course.\n- **Course Filter**: Filter employees based on their course selection (BCA, BTECH, MCA, BCOM).\n- **Responsive Design**: Fully responsive layout for both mobile and desktop devices.\n- **Live Demo**: A live version of the application is available for demonstration.\n\n---\n\n## Tech Stack:\n- **Frontend**: \n  - React\n  - Vite (for fast builds and hot-reloading)\n  - Tailwind CSS (for utility-first styling)\n  - React Router DOM (for routing)\n  - React Icons (for icons)\n  - React Loader Spinner (for displaying loading states)\n  \n- **API**:\n  - RESTful API for managing employee data.\n\n---\n\n## Live Demo:\n- **Live Demo**: [MARRF - Employee Management](https://marrf.onrender.com)\n\n---\n\n## GitHub Repository:\n- **GitHub Repo**: [https://github.com/techjmi/marrf](https://github.com/techjmi/marrf)\n\n---\n\n## Getting Started\n\nTo clone and run this project locally, follow these steps:\n\n### Prerequisites:\n1. **Node.js** (v14 or higher)\n2. **NPM** (Node Package Manager, which comes with Node.js)\n3. **Git** (for cloning the repository)\n\n### Steps to Clone and Run Locally:\n\n#### 1. Clone the repository:\n```bash\ngit clone https://github.com/techjmi/marrf.git\n```\n\n#### 2. Navigate to the project folder:\n```bash\ncd marrf\n```\n\n#### 3. Install the dependencies:\n```bash\nnpm install\n```\n\n#### 4. Set up environment variables:\nCreate a `.env` file in the root directory and add your environment variables:\n```plaintext\nREACT_APP_API_URL=https://deals-dray-backend.onrender.com/api/employee\n```\n\n#### 5. Run the application:\nFor the frontend (React app):\n```bash\nnpm run dev\n```\n\nThis will start the development server and open the app in your browser at `http://localhost:5173`.\n\n---\n\n## API Documentation:\n\n### **1. Get Employee List**\n**URL**: `/api/employee/emp_list`  \n**Method**: `GET`  \n**Description**: Fetches the list of all employees.  \n**Response**:  \n```json\n[\n  {\n    \"fullName\": \"John Doe\",\n    \"email\": \"john@example.com\",\n    \"MobileNo\": \"1234567890\",\n    \"Designation\": \"Developer\",\n    \"Gender\": \"Male\",\n    \"course\": [\"BCA\"],\n    \"image\": \"https://image-link.com\",\n    \"empID\": 1,\n    \"createdAt\": \"2024-01-01T00:00:00Z\",\n    \"updatedAt\": \"2024-01-01T00:00:00Z\"\n  },\n  ...\n]\n```\n\n---\n\n### **2. Edit Employee**\n**URL**: `/api/employee/emp_edit/:id`  \n**Method**: `PUT`  \n**Description**: Edits the details of an employee.  \n**Request Body**:  \n```json\n{\n  \"fullName\": \"Updated Name\",\n  \"email\": \"updatedemail@example.com\",\n  \"MobileNo\": \"0987654321\",\n  \"Designation\": \"Updated Designation\",\n  \"Gender\": \"Female\",\n  \"course\": [\"BTECH\"],\n  \"image\": \"https://new-image-link.com\"\n}\n```\n\n**Response**:  \n```json\n{\n  \"message\": \"Employee details updated successfully\"\n}\n```\n\n---\n\n### **3. Delete Employee**\n**URL**: `/api/employee/emp_delete/:id`  \n**Method**: `DELETE`  \n**Description**: Deletes an employee by ID.  \n**Response**:  \n```json\n{\n  \"message\": \"Employee deleted successfully\"\n}\n```\n\n---\n\n### **4. Get Single Employee by ID**\n**URL**: `/api/employee/employee/:id`  \n**Method**: `GET`  \n**Description**: Fetches a single employee's data by ID.  \n**Response**:  \n```json\n{\n  \"fullName\": \"John Doe\",\n  \"email\": \"john@example.com\",\n  \"MobileNo\": \"1234567890\",\n  \"Designation\": \"Developer\",\n  \"Gender\": \"Male\",\n  \"course\": [\"BCA\"],\n  \"image\": \"https://image-link.com\",\n  \"empID\": 1,\n  \"createdAt\": \"2024-01-01T00:00:00Z\",\n  \"updatedAt\": \"2024-01-01T00:00:00Z\"\n}\n```\n\n---\n\n## Frontend Details:\n\n### Features:\n- **Search Functionality**: Users can search employees by name, email, or designation.\n- **Course Filter**: Users can filter employees based on the course (`BCA`, `BTECH`, `MCA`, `BCOM`).\n- **Responsive Layout**: The app adapts to mobile, tablet, and desktop screens using Tailwind CSS.\n\n---\n\n## Conclusion:\nThis project provides a simple yet powerful solution for managing employee data with a well-structured API and a responsive frontend. You can easily view, edit, and delete employee records, while also filtering based on specific criteria like name, email, designation, and course. \n\n---\n\n### Created by:\n**Md Shamim Akhter**  \n[Portfolio](https://shamim-portfolio-u1yp.onrender.com)  \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechjmi%2Fmarrf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechjmi%2Fmarrf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechjmi%2Fmarrf/lists"}