Coder Social home page Coder Social logo

everest's Introduction

everestheader

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

idle Everest running on Windows 10.

Why Everest?

  • Unlike other REST clients like Postman and Insomnia, Everest is written in Java. Thus, it is significantly lighter on resources and more responsive than the Electron-based options. The goal with Everest is to provide pretty much the same level of functionality as the other options, but in a lighter, native but equally slick package. It is a big and slightly arrogant bet, but then I don't think anyone other than me would use this! So heck, at least I'll learnt a lot. Not bad for a Comp Sci student, eh?
  • In all of my projects, design is of paramount importance. And Everest is no exception. With a gorgeous, flat design and a neutral color scheme, Everest is a pleasure to look at and to work with. 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 is powered by Jersey, the robust and powerful Java library to build and consume RESTful web services.

get Making a GET request with Everest.

Features currently live

  • GET, POST, PUT, DELETE and PATCH requests.
  • Adding request headers, query parameters and the request body (raw, octet-stream, URL-encoded or form-data)
  • Response details (HTTP status code, response type, time, size)
  • Custom themes: I encourage you to develop new themes by taking reference of Adreana. I plan on documenting it better in the future. Changing themes needs a manual edit to Everest/config/settings.json. This will be properly integrated into a Settings menu soon. ๐ŸŒˆ
  • Multi-tab layout: I'm battling with JavaFX to allow me to add a simple '+' button for adding a new tab. So far, not successful. However, you can use the Ctrl+T keyboard shortcut.
  • History tab: All the requests you ever made are now shown to the left of the app. ๐Ÿ•’
  • Searching through your request history: Everest searches not just on the basis of the request target but all other parameters that form the request including headers, the request body, query parameters and even file names. It will intelligently rank the results on the basis of their relevance. ๐Ÿ”Ž
  • Everest now maintains its state between sessions so you don't lose your work. ๐Ÿง 
  • Response Visualizer: You can now view JSON responses just as you would your file tree.
  • Syntax highlighting: Everest now highlights your JSON, XML and HTML responses and requests, powered by RichTextFX. You can add new CSS syntax themes in Everest/themes/syntax/ by taking reference of the default, Moondust.

search

Everest's search feature in action.

Upcoming features

  • API Authentication: This is of course a primary feature of any REST client, but currently, not something I've done or used before. So I will need some time to learn this stuff.
  • Text prediction for the address bar based on your history.
  • Postman has this really cool feature wherein it can create a mock server. I'll do that once the core features are implemented and if it doesn't severely impact performance.

Visualizer Everest's convenient Visualizer makes reading response bodies a breeze!

Keymap

Shortcut Task
Ctrl + T New Tab
Ctrl + W Close tab
Ctrl + H Toggle History
Ctrl + Enter Send request
Ctrl + L Focus address bar
Ctrl + M Open HTTP Method box
Ctrl + F Focus history search bar
Alt + P Focus Params tab
Alt + A Focus Authentication tab
Alt + H Focus Headers tab
Alt + B Focus 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 JDK 8 (9 should also work) installed, along with Maven and Git. If you're using OpenJDK, you will separately need to install OpenJFX. 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: java -jar target/Everest-Alpha-1.X.jar replacing 'X' with the current version.

Suggestions and improvements

Use these options to reach me:

Aaaand, that's it! I don't think anyone will make it down here. But if you did, you're awesome! ๐Ÿ†

Cheers!

everest's People

Contributors

rohitawate avatar virmundi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.