Giter Site home page Giter Site logo

rohitawate / everest Goto Github PK

View Code? Open in Web Editor NEW
820.0 40.0 108.0 1.04 MB

A beautiful, cross-platform REST client.

License: Apache License 2.0

Java 94.79% CSS 4.56% HTML 0.65%
rest-client native-apps java javafx desktop-app everest summit cross-platform

everest's People

Contributors

riduidel avatar rohitawate avatar virmundi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

everest's Issues

Proposal: GraphQL support

Hi! Don't know if this is the right place to propose new features, please tell me if otherwise.

It would be great if Everest supported writing GraphQL queries and browsing a schema documentation, similar to how GraphiQL works.
I can work on the feature, but I was a backend Java developer and never worked with JFX (but I'm willing to learn) so I would much appreciate some help on the front-end side of things.

Basic features:

  • Fetch and parse a schema from a GraphQL endpoint so that it can be displayed in a graphical, browsable way
  • Write and send queries and mutations (with autocomplete based on the fetched schema) with validations and variables support
  • Customize request headers (same as the standard HTTP Everest section)

Nice to have:

  • WebSocket support to enable GraphQL subscriptions

Feel free to add your thoughts and suggestions if you have any, I'd like to throw in a little more brainstorming on this since it's a pretty huge feature to develop.

Credits.odt - why not Markdown or plain text?

Just curious if there was a reason to have the "credits" (which looks like licensing info of libraries used?) is in ODT format instead of something like straight text or Markdown?

Support for Java 10/11

A java.lang.ClassNotFoundException: com.sun.javafx.css.StyleConverterImpl is triggered on start with Java 10.0.1
This issue may not be limited to Windows

C:\Users\bwScott\Downloads> java --version
java 10.0.1 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
C:\Users\bwScott\Downloads> java -jar .\Everest-Alpha-1.0.jar
Connected to database.
Settings file found. Loading settings...
Settings file not found. Using defaults
Exception in Application start method
java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at java.base/sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Exception in Application start method
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/sun/javafx/css/StyleConverterImpl
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
        at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
        at com.jfoenix.controls.JFXButton$StyleableProperties.<clinit>(JFXButton.java:167)
        at com.jfoenix.controls.JFXButton.<init>(JFXButton.java:147)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.base/java.lang.Class.newInstance(Unknown Source)
        at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(Unknown Source)
        at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(Unknown Source)
        at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(Unknown Source)
        at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml/javafx.fxml.FXMLLoader.load(Unknown Source)
        at com.rohitawate.everest.main.Main.start(Main.java:39)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$11(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(Unknown Source)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source)
        at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
        at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
        ... 1 more
Caused by: java.lang.ClassNotFoundException: com.sun.javafx.css.StyleConverterImpl
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
        ... 32 more
Exception running application com.rohitawate.everest.main.Main

Custom request methods

It is legit to use custom HTTP methods, i.e. other than GET, POST, etc. so it would be great to be able to specify also a custom method for the request.

Weird message in BugReporter

From BugReporter class:
System.out.println("\nYour report was submitted successfully reported and will be evaluated soon.");
"report was submitted successfully reported" does not look so much English to me

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

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.

Advanced Context Menu to Tabs

First of all congrats for this amazing application :)

If you open Google Chrome or Firefox and you press right click on a Tab you get plenty of options like ...

New Tab
Close Tabs to the Right
Close Tabs to the Left
etc....

It would be great to add this functionality . Of course i can fork the repo and add it but firstly would like to know if you agree so i don't spend time to write the code for no reason ;)

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)

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

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

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 :)

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

Collapse history bar

Is it possible to add a button to hide / unhide history bar? I think about a button like Atom:
collapse

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:

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.