Everest - an upcoming REST API testing client written in JavaFX

Overview

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 ⌨️

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 Select HTTP method
Ctrl + F Focus history search bar
Alt + P Focus Query 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 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:

Comments
  • Small bugfix and Graviton support

    Small bugfix and Graviton support

    Hi Rohit!

    I'm the author of https://graviton.app - an experimental app browser for the JVM. I'm trying to provide an alternative to and compete with applets, Java Web Start, etc. It keeps both the JVM and the apps updated automatically and all it requires is the app to be published to a Maven repository. Or it can even run apps straight for github using jitpack.io

    I love what you're doing with Everest and would like it to be a showcase app for the initial limited distribution alpha. Graviton can run apps from Maven repositories, and can run Everest as is. But with this PR I activate an opt-in feature of reusing the browser JVM and stage, so you get a seamless transition from browser shell to Everest and back again. It's maybe easier to show with a video demo:

    graviton everest

    Unfortunately there is one step I can't do for you - you'd need to upload the (non shaded) JAR to a Maven repository like Central or JCenter. If you merge this PR and do that then Graviton will have a nice showcase app. Are you up for it?

    opened by mikehearn 13
  • Issue while running on OpenJDK/OpenJFX

    Issue while running on OpenJDK/OpenJFX

    Problem starting the application on a locked down Windows 10 Machine with JRE 8. This may or may not be unique to my computer...will try on some others.

    >java -version
    java version "1.8.0_172"
    Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
    
    > java -jar Everest-Alpha-1.0.jar
    Failed to load native library:sqlite-3.21.0.1-5ca2c46c-1705-499a-a4b8-b7110fe961a0-sqlitejdbc.dll. osinfo: Windows/x86_64
    java.lang.UnsatisfiedLinkError: C:\Users\...\AppData\Local\Temp\sqlite-3.21.0.1-5ca2c46c-1705-499a-a4b8-b7110fe961a0-sqlitejdbc.dll: This program is blocked by group policy. For more information, contact your system administrator
    Connected to database.
    Exception in thread "Thread-4" java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open_utf8([BI)V
            at org.sqlite.core.NativeDB._open_utf8(Native Method)
            at org.sqlite.core.NativeDB._open(NativeDB.java:71)
            at org.sqlite.core.DB.open(DB.java:174)
            at org.sqlite.core.CoreConnection.open(CoreConnection.java:220)
            at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76)
            at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:25)
            at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:24)
            at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45)
            at org.sqlite.JDBC.createConnection(JDBC.java:114)
            at org.sqlite.JDBC.connect(JDBC.java:88)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at com.rohitawate.everest.util.history.HistoryManager.<init>(HistoryManager.java:51)
            at com.rohitawate.everest.util.Services.lambda$start$0(Services.java:39)
            at java.lang.Thread.run(Unknown Source)
    Settings file found. Loading settings...
    Exception in thread "Settings loader thread" java.lang.NullPointerException
            at com.rohitawate.everest.util.logging.LoggingService.logInfo(LoggingService.java:52)
            at com.rohitawate.everest.util.settings.SettingsLoader.run(SettingsLoader.java:64)
            at java.lang.Thread.run(Unknown Source)
    Exception in Application start method
    java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
            at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
    Caused by: java.lang.RuntimeException: Exception in Application start method
            at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
            at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$154(LauncherImpl.java:182)
            at java.lang.Thread.run(Unknown Source)
    Caused by: javafx.fxml.LoadException:
    file:/.../Everest-Alpha-1.0.jar!/fxml/homewindow/HomeWindow.fxml
            at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
            at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
            at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
            at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)
            at com.rohitawate.everest.main.Main.start(Main.java:39)
            at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$161(LauncherImpl.java:863)
            at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$174(PlatformImpl.java:326)
            at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
            at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
            at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
            at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
            ... 1 more
    Caused by: java.lang.NullPointerException
            at com.rohitawate.everest.util.logging.LoggingService.logInfo(LoggingService.java:52)
            at com.rohitawate.everest.controllers.HomeWindowController.recoverState(HomeWindowController.java:293)
            at com.rohitawate.everest.controllers.HomeWindowController.initialize(HomeWindowController.java:72)
            at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
            ... 12 more
    Exception running application com.rohitawate.everest.main.Main
    
    opened by CrazyPyro 9
  • Development freeze?

    Development freeze?

    I came to know about this project through reddit, but after a long time only now I had the time to try it out. :) Nice job btw! I don't currently know if Everest is having any kind of limitation, but I do believe that there are features planned, but not implemented. I see that the development stopped for couple of months already so I'd like to understand what's the plan for the project in general? I believe you still want to keep development of it. Or if the project is abandoned, that's also fine. I really like the project, so maybe if I have the time I would like to help :)

    opened by renannprado 8
  • Build a theme for Everest with just CSS!

    Build a theme for Everest with just CSS!

    hacktoberfest

    I've been planning to add some more colors to Everest. Since its HacktoberFest, here's an opportunity for you to make a meaningful contribution to open-source and win that t-shirt. Just build some colorful themes for Everest. All you need is CSS!

    The best entries may ship with future releases of Everest!

    I've set up a nice theming guide which you can follow.

    Rules

    1. Create a new themes/ directory and place your CSS file there.
    2. Themes should have elegant names. No 'Dark' or 'Light', please. They can imitate other established themes, too.
    3. Your theme should cover the entirety of the UI. Partially developed entries will be rejected.
    4. Everest is an ongoing project and your themes will be edited in the future when new UI elements are added. You may choose to do so, too.
    5. Your CSS file should start with the following comment:
    /*
        Name: <ThemeName>
        Author: <YourName> (<GitHubProfileLink>)
    */
    
    1. While submitting your PR, make sure you add images showcasing all the UI elements of Everest. This includes the details like the history pane search results, the color of the checkboxes, or even the color of the snackbar popup.

    How will my theme be evaluated?

    Your theme will be judged based on the following criteria:

    • Aesthetic
    • Whether the theme fits with the overall flat design of Everest
    • Completeness
    • Imitates popular themes (One Dark or Solarized, for example)

    Note

    I've been planning to create a white and light grey based theme with cornflower blue as the highlight color. If someone can do that and call it Oasis, that would be awesome!

    Also, Adreana is a bit messy right now, so you may be interested in cleaning it up.

    Happy hacking! :octocat:

    enhancement good first issue hacktoberfest css 
    opened by RohitAwate 6
  • Can't set custom Content-Type

    Can't set custom Content-Type

    I use custom mimetypes for all of my calls. When attempting to post, the header value I put in gets overridden by the body configuration. I've not been able to undo that override.

    enhancement 
    opened by virmundi 6
  • Update Travis CI build to use OpenJDK 11

    Update Travis CI build to use OpenJDK 11

    opened by joschi 3
  • adding support for collections

    adding support for collections

    i am currently looking into adding collections of requests to everest (see warmuuh/everest). i started already by reusing the search-pane (refactoring the code a bit to be able to reuse this), so that searching collections is using the same code. Collections in my current approach are just collections of existing requests (read: entries in requests table) with augmented name/description. i would like to drive it to a state where CRUD of collections is possible. (later maybe postman import/export)

    opened by warmuuh 3
  • Bump jackson-databind from 2.9.3 to 2.9.10.7

    Bump jackson-databind from 2.9.3 to 2.9.10.7

    Bumps jackson-databind from 2.9.3 to 2.9.10.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Application does not run on Mac OSX

    Application does not run on Mac OSX

    • Mac OS 10.12.6
    • Java OpenJDK Runtime Environment (Zulu 8.23.0.3-macosx) (build 1.8.0_144-b01)
    $ java -jar Everest-Alpha-1.0.jar
    Error: Could not find or load main class com.rohitawate.everest.main.Main
    
    opened by btbytes 2
  • Why a jar for BugReporter.jar ?

    Why a jar for BugReporter.jar ?

    at Everest/src/main/resources/BugReporter.jar

    https://github.com/RohitAwate/Everest/commit/a679c6d1a2c0ad168e43930a902b7673caab8bf0

    com.rohitawate.everest.util.EverestUtilities

    opened by based2 2
  • Bump jackson-databind from 2.9.3 to 2.13.4.1

    Bump jackson-databind from 2.9.3 to 2.13.4.1

    Bumps jackson-databind from 2.9.3 to 2.13.4.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump jackson-databind from 2.9.3 to 2.12.7.1

    Bump jackson-databind from 2.9.3 to 2.12.7.1

    Bumps jackson-databind from 2.9.3 to 2.12.7.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Fix build for Java 11

    Fix build for Java 11

    • Updated project dependencies
      • Added javafx-controls and javafx-fxml (OpenJFX 11)
      • Added jakarta.xml.bind-api: java.xml.bind has been removed from Java 11
      • Bumped jfoenix to 9.0.10 for Java 11 support
    • Fixed (deprecated) JFXSnackbar-related code
    opened by javierllorente 0
  • Bump guava from 24.1-jre to 29.0-jre

    Bump guava from 24.1-jre to 29.0-jre

    Bumps guava from 24.1-jre to 29.0-jre.

    Release notes

    Sourced from guava's releases.

    29.0

    Maven

    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>29.0-jre</version>
      <!-- or, for Android: -->
      <version>29.0-android</version>
    </dependency>
    

    Javadoc

    JDiff

    Changelog

    • Guava types can no longer be sent over GWT-RPC. To temporarily reenable support, set the guava.gwt.emergency_reenable_rpc system property to true. (5214a10b1e)
      • This is the only breaking change in this release, and it affects only users of the guava-gwt artifact, not people who use only the guava artifact. This release contains no changes that break binary compatibility for any users.
    • API documentation for Guava classes is now easier to reach. For example, for ImmutableList, visit guava.dev/ImmutableList. Also, more easily access the index at guava.dev/api.
    • collect: Annotated FluentIterable.from(FluentIterable) with @DoNotCall. (b1c77b7df3)
    • collect: Made ceiling, floor, headSet(E, boolean), and tailSet(E, boolean) methods available in the GWT-emulated ImmutableSortedSet. (7e0fe90ca8, 5f2fbf27b2)
    • graph: Made it possible to set a stable incident edge order by calling the newly added method [Value]Graph.Builder.incidentEdgeOrder(ElementOrder.stable()). (70164025a8)
    • graph: Added incidentEdgeOrder() to the [Value]Graph interfaces. (cde576ec00)
    • util.concurrent: Added Duration-based default methods to ListeningScheduledExecutorService. (931e83f969)
    • util.concurrent: Added immediateVoidFuture. (9f3bae5853)
    • util.concurrent: Removed @Beta from Service and related classes. (dc46627fea)
    • util.concurrent: Deprecated the 1-arg overload of ServiceManager.addListener. (86e3620125)
    • util.concurrent: Changed the return type of ServiceManager.servicesByState() to ImmutableSetMultimap (but also retained a method with the old signature for binary compatibility). (31999ae6f5)
    • util.concurrent: Made it safe to load the AbstractFuture class from a ForkJoinPool thread under a security manager. (6e0c5b5d50)

    28.2

    Maven

    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>28.2-jre</version>
      <!-- or, for Android: -->
      <version>28.2-android</version>
    </tr></table> 
    

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Wrong Log message when opening the SQLite DB

    Wrong Log message when opening the SQLite DB

    Hi Rohit,

    Found a small bug on your logging.

    When starting the application following message is shown. SEVERE 09/07/2020 12:08:13: Unable to create directory: Everest/config/ But the dir is being created correctly.

    I will make a pull request for it if you do not mind. Thanks Paulo

    opened by fonsecapaulo 0
  • No context-menu in EverestCodeArea

    No context-menu in EverestCodeArea

    When you choose POST->Body->Raw it is great that you can pick JSON and it is excellent that the syntax highlighting is there, but for whatever reason, the right click menu is disabled (Ctrl+C/Ctrl+V works though).

    This bug is to enable right click for users expecting it

    opened by ciplogic 1
Releases(Alpha-1.3)
  • Alpha-1.3(Sep 10, 2018)

    alpha1 3

    Changelog

    UI Refresh

    alpha13

    • UI elements have been scaled down to make room for the stuff that matters.
    • Request history is now much more colorful.
    • Finally a "+" button to add a new tab!
    • New Key/Value fields are now added automatically as you type and the "New Param"/"New Header" buttons have been retired!
    • Live URL preview as you type query parameters!
    • The Visualizer should consume less memory.

    Pseudo tab-switching

    • Massive internal overhaul now allows for a super small memory footprint when creating new tabs. I'm calling this technique 'pseudo tab-switching' and will be writing about it on dev.to soon so follow me there.

    Let the authentication begin!

    • Basic Auth and Digest Auth are now live! (Work on OAuth 2.0 is on as you read this!)

    Upcoming features

    • OAuth 2.0
    • Projects (similar to Postman's Collection or Insomnia's Workspace)
    • Named requests
    • Environment variables
    • Google Drive and cloud-powered project sync across devices.

    Running the JAR

    Make sure you have the Java 8 Runtime Environment installed.

    • On Windows: Just double-click on the file and Everest should open.
    • On Mac and Linux: java -jar Everest-Alpha-1.3.jar

    Issue reporting

    • Everest comes with a command-line Bug Reporter that resides in INSTALLATION_DIR/Everest/
    • It can generate a zip file with your logs and a short bug report with your description of the issue.
    • While reporting an issue, use GitHub's Issue Tracker and include the above mentioned zip.
    • You can run it using: java -jar BugReporter.jar

    Suggestions and improvements

    Use these options to reach me:

    That's it for the alpha. I hope you enjoy using it. Make sure you star the repository and let your friends and colleagues know. Thanks for trying out Everest, you're awesome! 🏆

    Source code(tar.gz)
    Source code(zip)
    Everest-Alpha-1.3.zip(15.74 MB)
  • Alpha-1.2(Jul 1, 2018)

    everestheader1 2

    Changelog

    • Syntax highlighting for response and request bodies.
    • Application state maintenance logic has been cleaned up and now uses JSON for storing the state. All tabs under the 'Body' tab and all non-empty KeyValue fields are now saved. This applies to the history saved in the database too. If you have already installed Everest, delete history.sqlite and everest.state under the Everest/ directory since the former is incompatible due to a change in the database structure and the latter is not used anymore.
    • Everest will now offer to open HTML responses in your default browser.

    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.

    Upcoming features

    • API authentication (Basic Auth, Digest Auth, OAuth, OAuth 2)
    • Improvements to parameter appending logic

    Running the JAR

    Make sure you have the Java 8 Runtime Environment installed.

    • On Windows: Just double-click on the file and Everest should open.
    • On Mac and Linux: java -jar Everest-Alpha-1.2.jar

    Issue reporting

    • Everest will create a command-line Bug Reporter the first time it runs in INSTALLATION_DIR/Everest/
    • It can generate a zip file with your logs and a short bug report with your description of the issue.
    • While reporting an issue, use GitHub's Issue Tracker and include the above mentioned zip.
    • You can run it using: java -jar BugReporter.jar

    Suggestions and improvements

    Use these options to reach me:

    That's it for the alpha. I hope you enjoy using it. Make sure you star the repository and let your friends and colleagues know. Thanks for trying out Everest, you're awesome! 🏆

    Source code(tar.gz)
    Source code(zip)
    Everest-Alpha-1.2.jar(16.70 MB)
  • Alpha-1.1(Jun 4, 2018)

    everestheader1 1

    Changelog

    • Everest will automatically prepend 'https://' to the URL if not already done.
    • Fixed #11: Everest now scales correctly on all display resolutions.
    • Added #9: You can now override the request body's content type using a header.
    • New animation for the loading screen!
    • Improved BugReporter.
    • General performance improvements.

    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. 🧠
    • Visualizer. You can now view JSON responses just as you would your file tree. Support for XML coming up next!

    Upcoming features

    • API authentication
    • Syntax highlighting for the response
    • Text prediction for address bar based on your history.

    Running the JAR

    Make sure you have the Java 8 Runtime Environment installed.

    • On Windows: Just double-click on the file and Everest should open.
    • On Mac and Linux: java -jar Everest-Alpha-1.0.jar

    Issue reporting

    • Everest will create a command-line Bug Reporter the first time it runs in INSTALLATION_DIR/Everest/
    • It can generate a zip file with your logs and a short bug report with your description of the issue.
    • While reporting an issue, use GitHub's Issue Tracker and include the above mentioned zip.
    • You can run it using: java -jar BugReporter.jar

    Suggestions and improvements

    Use these options to reach me:

    That's it for the alpha. I hope you enjoy using it. Make sure you star the repository and let your friends and colleagues know. Thanks for trying out Everest, you're awesome! 🏆

    Source code(tar.gz)
    Source code(zip)
    Everest-Alpha-1.1.jar(15.89 MB)
  • Alpha-1.0(Apr 23, 2018)

    everestheader1 0

    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. 🧠
    • Visualizer. You can now view JSON responses just as you would your file tree. Support for XML coming up next!

    Upcoming features

    • API authentication
    • Syntax highlighting for the response
    • Text prediction for address bar based on your history.

    Running the JAR

    Make sure you hava the Java 8 Runtime Environment installed.

    • On Windows: Just double-click on the file and Everest should open.
    • On Mac and Linux: java -jar Everest-Alpha-1.0.jar

    Issue reporting

    • Everest will create a command-line Bug Reporter the first time it runs in INSTALLATION_DIR/Everest/
    • It can generate a zip file with your logs and a short bug report with your description of the issue.
    • While reporting an issue, use GitHub's Issue Tracker and include the above mentioned zip.
    • You can run it using: java -jar BugReporter.jar

    Suggestions and improvements

    Use these options to reach me:

    That's it for the alpha. I hope you enjoy using it. Make sure you star the repository and let your friends and colleagues know. Thanks for trying out Everest, you're awesome! 🏆

    Source code(tar.gz)
    Source code(zip)
    Everest-Alpha-1.0.jar(15.94 MB)
Owner
Rohit Awate
Grad Student @northeastern | Ex-RedCarpet
Rohit Awate
Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI.

Checkers-JavaFX-and-Sockets Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI. If you want to pla

Jakub Bednarski 1 Mar 30, 2022
Simple and clean testing for JavaFX.

TestFX Simple and clean testing for JavaFX. TestFX requires a minimum Java version of 8 (1.8). Documentation See the Javadocs for latest master. See t

null 825 Dec 28, 2022
JDKMon - A little tool written in JavaFX that monitors your installed JDK's and inform you about updates

JDKMon JDKMon Home JDKMon is a little tool written in JavaFX that tries to detect all JDK's installed on your machine and will inform you about new up

Gerrit Grunwald 246 Jan 3, 2023
An image annotation desktop-application written in Java using the JavaFX application platform.

This is an image annotation desktop-application written in Java using the JavaFX application platform. It allows you to create bounding box annotations using rectangular and polygonal shapes. Annotations can be imported and saved from/to JSON files, Pascal VOC format XML-files or YOLO format TXT-files.

Markus Fleischhacker 31 Dec 4, 2022
Tetromino is a Tetris-like game written in Java with JavaFX.

Tetromino Link to original project in university's GitLab Tetromino is a Tetris-like game written in Java with JavaFX made by Jonas and myself during

Tobias Helmrich 2 Dec 13, 2021
A prayer times (Adhan) app for Windows and GNU/Linux written in JavaFX.

Salawat Salawat - سالوات A prayer times and Adhan application for Windows, macOS and GNU/Linux written in Java Download » View Demo · Report Bug · Req

DarkBlackChocolate 8 Nov 17, 2022
A portable 8086 emulator written in Java and JavaFX

8086.java A portable 8086 emulator written in JavaFX Environment Variables To run this project, you will need to add the following environment variabl

David Velho 4 Dec 1, 2022
Tray Icon implementation for JavaFX applications. Say goodbye to using AWT's SystemTray icon, instead use a JavaFX Tray Icon.

FXTrayIcon Library intended for use in JavaFX applications that makes adding a System Tray icon easier. The FXTrayIcon class handles all the messy AWT

Dustin Redmond 248 Dec 30, 2022
DataFX - is a JavaFX frameworks that provides additional features to create MVC based applications in JavaFX by providing routing and a context for CDI.

What you’ve stumbled upon here is a project that intends to make retrieving, massaging, populating, viewing, and editing data in JavaFX UI controls ea

Guigarage 110 Dec 29, 2022
Provides a Java API to use the JavaScript library d3.js with the JavaFx WebView

javafx-d3 Provides a Java API for using the JavaScript library d3.js with JavaFx Applications. Many thanks to the authors of the projects gwt-d3 [1] a

null 98 Dec 19, 2022
Flash cards app using JavaFX, Scene Builder and persistence using Serialization with JAVA IO API

Flashcards - JavaFX , Scene Builder, Serialized Persistence JAVA IO API Main Scene that will show all the Decks in Flash Card App Add or Edit Cards in

Ali Raja 3 Nov 28, 2022
A backend service for EdgeGallery application testing and verification

ATP-BE ATP (Application test platform)是应用测试认证的平台,通过构建统一的测试标准并搭建测试框架,为开发者平台与APPStore提供一致的APP测试体验 特性介绍 上传、管理App 编译运行 atp-be对外提供restful接口,基于开源的ServiceCom

EdgeGallery 20 Jan 10, 2022
A cross-platform interface for FutureRestore, written in Java with Swing

Futurerestore GUI A GUI implementation for FutureRestore written in Java. Installation Download from releases. No Java download required (it's bundled

null 428 Dec 30, 2022
Lightweight installer written in java, made for minecraft mods, The installer uses JPanel and uses a URL to install to the specific area (Discord URL's work the best i've seen)

InstallerForJava Lightweight installer written in java, made for minecraft mods, The installer uses JPanel and uses a URL to install to the specific a

null 18 Dec 9, 2022
Four - An engine for MUDs, written in Java

Four This is Four, an engine for MUDs, written in Java! The project was initiated by nijakow and mhahnFr to serve as the basis for text-based Multi-Us

null 5 May 23, 2022
An advanced book explorer/catalog application written in Java and Kotlin.

Boomega An advanced book explorer/catalog application written in Java and Kotlin. ✨ Features Cross-platform Dark/Light theme, modern UI Multiple UI la

Daniel Gyoerffy 54 Nov 10, 2022
Collection of Binding helpers for JavaFX(8)

Advanced-Bindings for JavaFX (8) advanced-bindings is a collection of useful helpers and custom binding implementations to simplify the development of

Manuel Mauky 63 Nov 19, 2022
Docking framework for JavaFX platform

Docking framework for JavaFX platform AnchorFX is a gratis and open source library for JavaFX to create graphical interfaces with docking features Anc

Alessio Vinerbi 197 Oct 15, 2022
A library of +70 ready-to-use animations for JavaFX

AnimateFX A library of ready-to-use animations for JavaFX Features: Custom animations Custom interpolators Play/Stop animation Play an animation after

Loïc Sculier 366 Jan 5, 2023