A Postman Clone is a web-based tool designed for sending and testing HTTP requests. It replicates essential features of Postman, providing a simplified interface for interacting with APIs and viewing their responses. This project is built using modern web development tools and libraries.
- Select HTTP methods (GET, POST, PUT, DELETE, etc.).
- Enter and edit URLs.
- Add and manage query parameters and headers.
- Compose and send JSON request bodies.
- Display response details such as:
- Status code
- Response time
- Response size
- Response headers
- Response body (formatted JSON).
- Syntax highlighting and formatting for JSON using CodeMirror.
- HTML/CSS/JavaScript: For the user interface and core functionality.
- Snowpack: For development and module bundling.
- Axios: For making HTTP requests.
- CodeMirror: For code editing with syntax highlighting.
- Bootstrap: For responsive and modern UI design.
- Pretty-Bytes: For formatting file sizes in the response details.
- Node.js (latest LTS version recommended)
- npm or yarn (for managing dependencies)
-
Clone the repository:
git clone https://github.com/AmartyaKumar11/postman-clone.git
-
Navigate to the project directory:
cd postman-clone -
Install dependencies:
npm install
-
Start the development server:
npm run start
-
Open your browser and navigate to:
http://localhost:8080
- Select an HTTP method (e.g., GET, POST).
- Enter the API URL in the input field.
- Add query parameters and headers as needed.
- Write the request body in the JSON editor (if applicable).
- Click the Send button to execute the request.
- View the response details in the response section.
postman-clone/
├── public/ # Static files
├── src/
│ ├── index.html # Main HTML file
│ ├── styles/ # CSS styles
│ ├── scripts/ # JavaScript code
│ └── components/ # Modular components (headers, query parameters, etc.)
├── package.json # Project configuration
├── snowpack.config.js # Snowpack configuration
└── README.md # Project documentation
- Add authentication options (e.g., API keys, OAuth).
- Implement request history and save functionality.
- Support for raw, form-data, and binary request bodies.
- Provide dark mode for better usability.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit them:
git commit -m "Add feature-name" - Push to the branch:
git push origin feature-name
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- Inspired by Postman.
- Built for learning and demonstration purposes.