npm package: @shweta-chauhan28/crud-api
Description: A simple example package
Author: Shweta Chauhan
Latest version: 1.0.4

# User Management API

This project provides a simple User Management API using Express.js. The API supports basic CRUD operations for managing users.

## Features

- **GET**: Retrieve all users
- **POST**: Add a new user
- **PUT**: Update an existing user
- **PATCH**: Partially update an existing user
- **DELETE**: Remove a user

## Installation

1. Clone the repository:
   ```bash
   git clone https://github.com/your-username/user-management-api.git
   ```

2. Navigate to the project directory:
   ```bash
   cd user-management-api
   ```

3. Install the dependencies:
   ```bash
   npm install
   ```

## Usage

1. Start the server:
   ```bash
   npm start
   ```

2. The API will be available at `http://localhost:3000`.

## API Endpoints

### Get All Users

- **Endpoint:** `GET /`
- **Response:**
  ```json
  {
    "message": "GET request received",
    "users": [],
    "status": true
  }
  ```

### Add a New User

- **Endpoint:** `POST /`
- **Request Body:**
  ```json
  {
    "name": "John Doe",
    "email": "john.doe@example.com",
    "age": 30
  }
  ```
- **Response:**
  ```json
  {
    "message": "User added successfully",
    "user": {
      "name": "John Doe",
      "email": "john.doe@example.com",
      "age": 30
    },
    "status": true
  }
  ```

### Update an Existing User

- **Endpoint:** `PUT /:email`
- **Request Parameters:**
  - `email` (string): The email of the user to update.
- **Request Body:**
  ```json
  {
    "name": "Jane Doe",
    "age": 25
  }
  ```
- **Response:**
  ```json
  {
    "message": "User updated successfully",
    "user": {
      "name": "Jane Doe",
      "email": "john.doe@example.com",
      "age": 25
    },
    "status": true
  }
  ```

### Partially Update an Existing User

- **Endpoint:** `PATCH /:email`
- **Request Parameters:**
  - `email` (string): The email of the user to update.
- **Request Body:**
  ```json
  {
    "age": 35
  }
  ```
- **Response:**
  ```json
  {
    "message": "User patched successfully",
    "user": {
      "name": "John Doe",
      "email": "john.doe@example.com",
      "age": 35
    },
    "status": true
  }
  ```

### Delete a User

- **Endpoint:** `DELETE /:email`
- **Request Parameters:**
  - `email` (string): The email of the user to delete.
- **Response:**
  ```json
  {
    "message": "User deleted successfully",
    "user": {
      "name": "John Doe",
      "email": "john.doe@example.com",
      "age": 30
    },
    "status": true
  }
  ```

## Contributing

If you find any issues or have suggestions for improvement, please create a pull request or open an issue on GitHub.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

---

Replace the placeholder URL (`https://github.com/your-username/user-management-api.git`) with the actual URL of your repository. Adjust the request body examples and response formats as per your actual data structure and requirements.