Why Everest?

October 3, 2018 ยท View on GitHub

everestheader

Everest (formerly RESTaurant) is an upcoming REST API testing client written in JavaFX.

home Everest running on Windows 10.

Why Everest?

  • Everest is written in Java. Thus, it is significantly lighter on resources and more responsive than its Electron-based alternatives like Postman. It aims to provide the same level of functionality in a lighter, native but equally slick package.

  • Aesthetic is very important. With a gorgeous, flat design, Everest is a pleasure to look at and to work with. It is also entirely theme-able.

    I want you to want to use it!

  • Being a Java application, Everest is inherently cross-platform. It will run anywhere there's a JVM.

  • Everest will offer cloud synchronization of your projects powered by Summit. It will be available as a cloud service early next year or you may also choose to self-host it.

Live Features ๐Ÿ”ฅ

All of the most common requests

GET, POST, PUT, DELETE and PATCH requests. HEAD and OPTIONS coming soon.

Comprehensive Request Builder

  • Add request headers.
  • Append query parameters. (with live preview)
  • Syntax highlighting for JSON and XML, powered by RichTextFX.
  • Quickly add key-value pairs for URL-encoded and multipart-form bodies.

View Response Details

  • HTTP status code, content type, elapsed time, body size.
  • Visualizer to view JSON responses graphically. (Aesthetic improvements coming with Alpha 1.4)
  • View response headers.

get Making a GET request with Everest.

API Authentication

  • Basic Auth
  • Digest Auth

Custom Themes

Everest is entirely theme-able via CSS. For more details, refer this guide.

Efficient multi-tabbing

Everest utilizes a technique called pseudo tab-switching to maintain a low memory footprint even when heavy multi-tabbing. I have written a highly technical piece about this on my dev.to.

Bonus: The '+' button for adding new tabs is finally live!

History

Everest maintains the history of all the requests made by you. You can search with any of the request's components: the target, the headers, the method, the body or even the files added to the request. Everest will intelligently rank the results based on their relevance.

history

Everest's search feature in action.

Upcoming features โณ

OAuth Support

Everest will fully support both of the OAuth standards. Work on OAuth 2.0 is in progress right now and will be available with Alpha 1.4. OAuth 1.0 will follow next.

Everest Project

  • This will be Everest's equivalent of Postman's Collection or Insomnia's Workspace.
  • Will house named-requests.
  • Will support environment variables. Every request can have its own.
  • Can be exported/imported.

Summit

summitheader

  • Summit is the synchronization server for Everest.
  • It will allow for synchronization of your Everest Projects across multiple devices and other members of your team.
  • It will use a Node.js-powered RESTful API and Socket.IO.
  • It will be available early next year as a service. You may also choose to self-host Summit.

Extension API

This will allow developers to create extensions for Everest which can for example, sync to Google Drive, or visualize the response bodies in a certain fashion or summon Batman.

Mock Server

This local server can be used to quickly create a mock REST-ful service with the endpoints of your choice, producing the output of your choice.

Keymap โŒจ๏ธ

ShortcutTask
Ctrl + TNew Tab
Ctrl + WClose tab
Ctrl + HToggle History
Ctrl + EnterSend request
Ctrl + LFocus address bar
Ctrl + MSelect HTTP method
Ctrl + FFocus history search bar
Alt + PFocus Query Params tab
Alt + AFocus Authentication tab
Alt + HFocus Headers tab
Alt + BFocus Body tab

Releases ๐Ÿš€

Everest is under active development and you can get the latest alpha build from Releases. Make sure you read the release notes to understand what works and what doesn't, how to report issues and how to run the binary.

Building from source ๐Ÿ”จ

Everest uses Maven, so building from the source code is very simple. You need to have a minimum of JDK 8 (9 should also work) installed, along with Maven and Git. If you're using OpenJDK, you will need to install OpenJFX separately. Once you have everything set up, follow these simple steps:

  1. Clone the repository: git clone https://github.com/RohitAwate/Everest.git
  2. Enter the repository: cd Everest
  3. Build a binary: mvn package
  4. Run the binary: mvn exec:java

For JDK 10 and above: JavaFX has been decoupled from the JDK and will need to be installed separately.

License โš–๏ธ

Everest is licensed under the Apache 2.0 License.

Suggestions and improvements

Use these options to reach me: