api-client/README.md

287 lines
14 KiB
Markdown
Raw Normal View History

2019-08-21 13:18:20 +00:00
```
When I wrote this, only God and I understood what I was doing. Now, only God knows.
```
2019-09-26 06:35:51 +00:00
2019-08-21 13:18:20 +00:00
<div align="center">
2019-09-27 17:29:21 +00:00
<a href="https://liyas-thomas.firebaseapp.com"><img src="static/icons/logo.svg" alt="Liyas Thomas" height="128"></a>
<br>
2019-10-05 02:50:21 +00:00
<h1><a href="https://postwoman.io">Postwoman.io</a></h1>
2019-09-27 17:29:21 +00:00
<p>
2019-10-19 14:13:45 +00:00
API request builder - Helps you create your requests faster, saving you precious time on your development - <a href="https://postwoman.launchaco.com">Subscribe</a>
2019-09-27 17:29:21 +00:00
</p>
2019-09-26 06:35:51 +00:00
<p>
2019-10-19 14:13:45 +00:00
[![Build Status](https://travis-ci.com/liyasthomas/postwoman.svg?branch=master)](https://travis-ci.com/liyasthomas/postwoman) [![GitHub release](https://img.shields.io/github/release/liyasthomas/postwoman/all.svg)](https://github.com/liyasthomas/postwoman/releases/latest) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](CONTRIBUTING.md) [![Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=website)](https://postwoman.io) [![Financial Contributors on Open Collective](https://opencollective.com/postwoman/all/badge.svg?label=financial+contributors)](https://opencollective.com/postwoman) [![Donate](https://img.shields.io/badge/$-donate-blue.svg)](https://www.paypal.me/liyascthomas) [![Chat on Telegram](https://img.shields.io/badge/chat-Telegram-blueviolet)](https://t.me/postwoman_app) [![Chat on Discord](https://img.shields.io/badge/chat-Discord-violet?logo=discord)](https://discord.gg/GAMWxmR)
2019-09-26 06:35:51 +00:00
</p>
2019-09-27 17:29:21 +00:00
<sub>Built with ❤︎ by
<a href="https://github.com/liyasthomas">liyasthomas</a> and
<a href="https://github.com/liyasthomas/postwoman/graphs/contributors">contributors</a>
</sub>
2019-08-21 13:18:20 +00:00
</div>
---
**Start here: _[Story behind Postwoman](https://dev.to/liyasthomas/i-created-postwoman-an-online-open-source-api-request-builder-41md)_**
2019-08-21 13:18:20 +00:00
**Chat here: _[Telegram](https://t.me/postwoman_app), [Discord](https://discord.gg/GAMWxmR)_**
2019-09-18 08:38:43 +00:00
2019-10-14 13:50:13 +00:00
**Donate here: _[PayPal](https://www.paypal.me/liyascthomas), [Open Collective](https://opencollective.com/postwoman), [Patreon](https://www.patreon.com/liyasthomas)_**
2019-08-21 13:18:20 +00:00
<div align="center">
<br>
2019-09-26 07:30:19 +00:00
<img src="static/screenshot1.png" alt="postwoman" width="100%">
2019-08-21 13:18:20 +00:00
<br>
</div>
2019-10-05 02:50:21 +00:00
### Features ✨
2019-08-21 13:18:20 +00:00
2019-10-14 13:50:13 +00:00
❤️ **Lightweight**: Crafted with minimalistic UI design. Simple design is the best design.
2019-08-21 13:18:20 +00:00
2019-08-27 07:32:44 +00:00
- Faster, lighter, cleaner, minimal & responsive
2019-08-21 13:18:20 +00:00
2019-10-14 13:50:13 +00:00
⚡️ **Fast**: Send requests and get/copy responses in real-time! Fast software is the best software.
2019-08-21 13:18:20 +00:00
2019-08-27 07:32:44 +00:00
**Methods:**
2019-08-28 11:45:11 +00:00
- `GET` - Retrieve information about the REST API resource
2019-08-29 06:44:11 +00:00
- `HEAD` - Asks for a response identical to that of a GET request, but without the response body.
2019-08-28 11:45:11 +00:00
- `POST` - Create a REST API resource
- `PUT` - Update a REST API resource
- `DELETE` - Delete a REST API resource or related component
2019-08-29 06:44:11 +00:00
- `OPTIONS` - Describe the communication options for the target resource
- `PATCH` - Applies partial modifications to a REST API resource
2019-08-27 07:32:44 +00:00
_History entries are synced with local session storage_
2019-10-14 13:50:13 +00:00
🌈 **Make it yours**: Customizable combinations for background, foreground and accent colors: because customization === freedom. [Customize now ✨](https://postwoman.io/settings).
2019-08-27 07:32:44 +00:00
**Customizations:**
2019-10-12 18:21:50 +00:00
- Choose theme: Kinda Dark (default), Clearly White, Just Black and System theme
- Choose accent color: Green (default), Yellow, Pink, Red, Purple, Orange, Cyan and Blue
2019-08-27 07:32:44 +00:00
- Toggle multi-colored frames
_Customized themes are also synced with local session storage_
2019-10-14 13:50:13 +00:00
🔥 **PWA**: Install as a **[PWA](https://developers.google.com/web/progressive-web-apps)** on your device.
2019-08-27 07:32:44 +00:00
**Features:**
2019-10-12 18:21:50 +00:00
- Instant loading with [Service Workers](https://developers.google.com/web/fundamentals/primers/service-workers)
2019-08-27 07:32:44 +00:00
- Offline support
- Low RAM/memory and CPU usage
2019-10-12 18:21:50 +00:00
- [Add to Home Screen](https://developers.google.com/web/fundamentals/app-install-banners) (button in footer)
- [Desktop PWA](https://developers.google.com/web/progressive-web-apps/desktop) support (button in footer)
- [Full features](https://developers.google.com/web/progressive-web-apps)
2019-08-27 07:32:44 +00:00
2019-10-14 13:50:13 +00:00
🚀 **Request**: Retrieve data from a URL without having to do a full page refresh.
2019-09-04 02:05:47 +00:00
- Choose `method`
- Enter `URL`
- Enter `Path`
2019-10-12 18:21:50 +00:00
**Features:**
- Copy/share public "Share URL"
- Generate request code for JavaScript XHR, Fetch and cURL
2019-09-04 02:05:47 +00:00
- Copy generated request code to clipboard
- Import cURL
2019-10-12 18:21:50 +00:00
- Label requests
2019-09-04 02:05:47 +00:00
2019-10-14 13:50:13 +00:00
🔌 **Web Socket**: Establish full-duplex communication channels over a single TCP connection.
2019-08-27 07:32:44 +00:00
- Send and receive data
2019-10-14 13:50:13 +00:00
🔐 **Authentication**: Allows to identity the end user.
2019-08-27 07:32:44 +00:00
**Types:**
- None
- Basic authentication using username and password
- Token based authentication
2019-10-14 13:50:13 +00:00
📢 **Headers**: Describes the format the body of your request is being sent as.
2019-08-27 07:32:44 +00:00
2019-10-12 18:21:50 +00:00
- Add or remove Header list
2019-10-14 13:50:13 +00:00
📫 **Parameters**: Use request parameters to set varying parts in simulated requests.
2019-08-27 07:32:44 +00:00
2019-10-14 13:50:13 +00:00
📃 **Request Body**: Used to send and receive data via the REST API.
2019-08-27 07:32:44 +00:00
**Options:**
2019-09-28 09:33:16 +00:00
- Set Content Type
2019-10-12 18:21:50 +00:00
- Add or remove Parameter list
- Toggle between key-value and RAW input Parameter list
2019-08-21 13:18:20 +00:00
2019-10-14 13:50:13 +00:00
👋 **Responses**: Contains the status line, headers and the message/response body.
2019-09-04 02:05:47 +00:00
- Copy response to clipboard
- View preview for HTML responses
_HTML responses have "Preview HTML" feature_
2019-10-14 13:50:13 +00:00
**History**: Request entries are synced with local session storage to reuse with a single click.
**Fields**
2019-10-12 18:21:50 +00:00
- Label
- Timestamp
- Method
- Status code
- URL
- Path
2019-10-12 18:21:50 +00:00
_History entries can be sorted by any fields_
_Histories can deleted one-by-one or all together_
2019-09-26 06:35:51 +00:00
## Demo 🚀
2019-08-21 13:18:20 +00:00
2019-09-05 14:59:16 +00:00
[https://postwoman.io](https://postwoman.io)
2019-08-21 13:18:20 +00:00
2019-09-26 06:35:51 +00:00
## Usage 💡
2019-08-22 06:20:26 +00:00
1. Specify your request method
2. Type in your API URL
3. Add API path
4. Send request
5. Get response!
2019-08-21 13:18:20 +00:00
You're done!
2019-09-26 06:35:51 +00:00
## Built with 🔧
2019-08-21 13:18:20 +00:00
2019-09-26 07:30:19 +00:00
* [Chromium](https://github.com/chromium/chromium) - Thanks for being so fast!
2019-08-21 13:18:20 +00:00
* HTML - For the web framework
* CSS - For styling components
* JavaScript - For magic!
* [Vue](https://vuejs.org/) - To add to the JavaScript magic!
2019-09-26 07:30:19 +00:00
* [Nuxt](https://nuxtjs.org/) - To add to the Vue magic!
2019-08-21 13:18:20 +00:00
2019-09-26 06:35:51 +00:00
## Developing 👷
1. [Clone this repo](https://help.github.com/en/articles/cloning-a-repository) with git.
1. Install dependencies by running `npm install` within the directory that you cloned (probably `postwoman`).
1. Start the development server with `npm run dev`.
1. Open development site by going to [http://localhost:3000](http://localhost:3000) in your browser.
#### Or, with docker-compose:
1. [Clone this repo](https://help.github.com/en/articles/cloning-a-repository) with git.
1. Run `docker-compose up`
1. Open development site by going to [http://localhost:3000](http://localhost:3000) in your browser.
2019-09-26 06:35:51 +00:00
## Docker 🐳
2019-09-25 00:52:25 +00:00
```bash
2019-09-27 03:36:50 +00:00
#pull
docker pull liyasthomas/postwoman
#run
docker run -p 3000:3000 liyasthomas/postwoman:latest
#build
2019-09-25 00:52:25 +00:00
docker build -t postwoman:latest
```
2019-10-05 02:50:21 +00:00
## Releasing 🏷️
2019-09-25 00:52:25 +00:00
1. [Clone this repo](https://help.github.com/en/articles/cloning-a-repository) with git.
1. Install dependencies by running `npm install` within the directory that you cloned (probably `postwoman`).
1. Build the release files with `npm run build`.
1. Find the built project in `./dist`.
2019-09-26 09:55:37 +00:00
## Contributing 🍰
2019-08-21 13:18:20 +00:00
Please read [CONTRIBUTING](CONTRIBUTING.md) for details on our [CODE OF CONDUCT](CODE_OF_CONDUCT.md), and the process for submitting pull requests to us.
2019-09-26 06:35:51 +00:00
## Continuous Integration 💚
2019-08-21 13:18:20 +00:00
We use [Travis CI](https://travis-ci.com) for continuous integration. Check out our [Travis CI Status](https://travis-ci.com/liyasthomas/postwoman).
2019-08-21 13:18:20 +00:00
2019-09-28 09:33:16 +00:00
## Versioning 🔖
2019-08-21 13:18:20 +00:00
2019-08-22 06:20:26 +00:00
This project is developed by [Liyas Thomas](https://github.com/liyasthomas) using the [Semantic Versioning specification](https://semver.org). For the versions available, see the [releases on this repository](https://github.com/liyasthomas/postwoman/releases).
2019-08-21 13:18:20 +00:00
2019-09-26 06:35:51 +00:00
## Change log 📝
2019-08-21 13:18:20 +00:00
See the [CHANGELOG](CHANGELOG.md) file for details.
2019-09-26 06:35:51 +00:00
## Authors 🔮
2019-09-28 09:33:16 +00:00
### Lead Developers
2019-08-21 13:18:20 +00:00
2019-09-26 06:35:51 +00:00
* **[Liyas Thomas](https://github.com/liyasthomas)** - *Author*
2019-09-28 09:33:16 +00:00
### Testing and Debugging
2019-08-21 13:18:20 +00:00
* ([contributors](https://github.com/liyasthomas/postwoman/graphs/contributors))
2019-08-21 13:18:20 +00:00
2019-09-28 09:33:16 +00:00
### Collaborators
<table>
<tr>
<td align="center"><a href="https://github.com/NBTX"><img src="https://github.com/NBTX.png?size=100" width="100px;" alt="John Harker"/><br /><sub><b>John Harker</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=NBTX" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/izerozlu"><img src="https://github.com/izerozlu.png?size=100" width="100px;" alt="izerozlu"/><br /><sub><b>izerozlu</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=izerozlu" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/AndrewBastin"><img src="https://github.com/AndrewBastin.png?size=100" width="100px;" alt="Andrew Bastin"/><br /><sub><b>Andrew Bastin</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=AndrewBastin" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/nickpalenchar"><img src="https://github.com/nickpalenchar.png?size=100" width="100px;" alt="Nick Palenchar"/><br /><sub><b>Nick Palenchar</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=nickpalenchar" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/yubathom"><img src="https://github.com/yubathom.png?size=100" width="100px;" alt="Thomas Yuba"/><br /><sub><b>Thomas Yuba</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=yubathom" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/larouxn"><img src="https://github.com/larouxn.png?size=100" width="100px;" alt="Nicholas La Roux"/><br /><sub><b>Nicholas La Roux</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=larouxn" title="Code">💻</a></td>
2019-09-12 11:25:41 +00:00
<td align="center"><a href="https://github.com/JacobAnavisca"><img src="https://github.com/JacobAnavisca.png?size=100" width="100px;" alt="Jacob Anavisca"/><br /><sub><b>Jacob Anavisca</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=JacobAnavisca" title="Code">💻</a></td>
</tr>
2019-09-18 08:38:43 +00:00
<tr>
<td align="center"><a href="https://github.com/nityanandagohain"><img src="https://github.com/nityanandagohain.png?size=100" width="100px;" alt="Nityananda Gohain"/><br /><sub><b>Nityananda Gohain</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=nityanandagohain" title="Code">💻</a></td>
2019-10-19 14:13:45 +00:00
<td align="center"><a href="https://github.com/terranblake"><img src="https://github.com/terranblake.png?size=100" width="100px;" alt="Terran Blake"/><br /><sub><b>Terran Blake</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=terranblake" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/hosseinnedaee"><img src="https://github.com/hosseinnedaee.png?size=100" width="100px;" alt="Hossein Nedaee"/><br /><sub><b>Hossein Nedaee</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=hosseinnedaee" title="Code">💻</a></td>
2019-09-18 08:38:43 +00:00
</tr>
</table>
See the list of [contributors](https://github.com/liyasthomas/postwoman/graphs/contributors) who participated in this project.
2019-09-28 09:33:16 +00:00
### Thanks
2019-09-26 06:35:51 +00:00
2019-09-28 09:33:16 +00:00
* [dev.to](https://dev.to)
2019-08-21 13:18:20 +00:00
2019-09-28 09:33:16 +00:00
## Contributors 🚸
### Code Contributors
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
2019-10-05 02:50:21 +00:00
<a href="https://github.com/liyasthomas/postwoman/graphs/contributors"><img src="https://opencollective.com/postwoman/contributors.svg?width=890&button=false" /></a>
### Financial Contributors
Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/postwoman/contribute)]
#### Individuals
2019-10-05 02:50:21 +00:00
<a href="https://opencollective.com/postwoman"><img src="https://opencollective.com/postwoman/individuals.svg"></a>
#### Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/postwoman/contribute)]
<a href="https://opencollective.com/postwoman/organization/0/website"><img src="https://opencollective.com/postwoman/organization/0/avatar.svg"></a>
<a href="https://opencollective.com/postwoman/organization/1/website"><img src="https://opencollective.com/postwoman/organization/1/avatar.svg"></a>
<a href="https://opencollective.com/postwoman/organization/2/website"><img src="https://opencollective.com/postwoman/organization/2/avatar.svg"></a>
<a href="https://opencollective.com/postwoman/organization/3/website"><img src="https://opencollective.com/postwoman/organization/3/avatar.svg"></a>
<a href="https://opencollective.com/postwoman/organization/4/website"><img src="https://opencollective.com/postwoman/organization/4/avatar.svg"></a>
<a href="https://opencollective.com/postwoman/organization/5/website"><img src="https://opencollective.com/postwoman/organization/5/avatar.svg"></a>
<a href="https://opencollective.com/postwoman/organization/6/website"><img src="https://opencollective.com/postwoman/organization/6/avatar.svg"></a>
<a href="https://opencollective.com/postwoman/organization/7/website"><img src="https://opencollective.com/postwoman/organization/7/avatar.svg"></a>
<a href="https://opencollective.com/postwoman/organization/8/website"><img src="https://opencollective.com/postwoman/organization/8/avatar.svg"></a>
<a href="https://opencollective.com/postwoman/organization/9/website"><img src="https://opencollective.com/postwoman/organization/9/avatar.svg"></a>
2019-09-26 06:35:51 +00:00
## License 📄
2019-08-21 13:18:20 +00:00
This project is licensed under the [MIT License](https://opensource.org/licenses/MIT) - see the [LICENSE](LICENSE) file for details.
2019-09-26 06:35:51 +00:00
## Acknowledgments 🙏
2019-08-21 13:18:20 +00:00
* Hat tip to anyone who's code was used
* Inspirations:
* [Dribbble](https://dribbble.com)
2019-09-26 06:35:51 +00:00
<div align="center">
<a href="https://liyas-thomas.firebaseapp.com"><img src="https://raw.githubusercontent.com/liyasthomas/templates/master/assets/logo.gif" alt="Liyas Thomas" width="200"></a>
<br>
<h3>Happy Coding ❤︎</h3>
</div>