Giter VIP home page Giter VIP logo

stapi's Introduction

Build Status codecov Uptime Robot ratio (30 days) License: MIT Maven Central Docker Pulls

About

STAPI is a first public Star Trek API, accessible via REST.

Started as a research project, it turned into a fully working website in 2017. More about the development history can be found here.

STAPI is written in Java. Tests are written in Groovy, and since there are more tests than production code, it shows in GitHub as a Groovy project.

Connecting

STAPI can be accessed freely and without the need of API keys.

API Browser offers a peek into what data STAPI serves.

API overview describes key API concepts.

Swagger editor with STAPI specs loaded can also be used to browser the API.

Clients

Available clients are:

Contributing

Contributions to STAPI are most welcome. Contributing guildlines are available.

Bug reports and feature requests

Please open a GitHub issue describing your case.

Docker

STAPI can be run as a local Docker container. Details can be found on STAPI's Docker Hub page.

Documentation

  • API documentation can be found on the website.
  • Project documentation can be found on wiki home.

stapi's People

Contributors

cezarykluczynski avatar erunion avatar kamilates avatar mklucz 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

stapi's Issues

Many suspect/erroneous Element database entries

Browsing through the API browser, I poked through the Elements category and see a lot of either suspect or erroneous data.

For starters, clearly some of these are not even elements ("Lanthanide," "Sulfide," "Carbon-70," etc.). Many are fictional, obviously -- nothing suspect about that -- but have entries for atomicNumber or atomicWeight that clearly conflict with existing elements ("Purseronite," "Freedonia," "Cosmoium," etc.) or have a symbol which is already used by an existing element (e.g., "Cosmoium" is listed as having symbol "Cs," but that's the symbol for cesium), or just have nonsensical data ("Kryptonite" has symbol "Kr" (conflicts with the real krypton), has atomic weight 1 (that's the atomic weight of hydrogen-1) and is marked as transuranic). There's also some just plain silly names that I've never heard of in any Star Trek property, but maybe these are just gags ("Disneyium," "Daffyduckium," "Cheeseium," etc.).

And, as a minor correction, the field transuranium (a Boolean) would be more properly named transuranic.

Also maybe add a Boolean field known for ones that represent real elements (of which there are more than a few in the database)?

Swagger Editor Issues

The Swagger Editor is displaying an error on the right side of the page and mock API server data on the left for a pet store. the STAPI.yaml file appears to be OK.

Official go client

I would love a client in go, I am willing to help out in this regard.

R package as client

Hi,

I am developing an R package (library) called rtrek for the R programming language, popular among data scientists. The website accompanying the GitHub repo can be found here. One component of the package is a function for users to make API calls to STAPI. Please feel free to take a look and let me know what you think.

I am really excited to see this API. It offers a ton of potential for other production surrounding it. I would love to contribute, but my background is in statistical programming and the best contribution I could continue to make would be to further develop domain-specific analytics tools that can make productive use of STAPI data.

I read through your documentation and appreciate the alpha-state of current development and that there could be breaking changes. I also understand your team has limited resources for development and running the API. I want to let you know that my package has anti-DDOS measures built into it limiting users to no more than one request per second, as I read somewhere in your docs as a suggestion. Though I would not expect a huge amount of traffic via this client overall.

Regards,
Matt

http security issues

Curious if you have any plans to update to https? It's proving to make it difficult to make calls to the API in production because my url is https and won't make calls to http. Still looking at work arounds.

Also, thanks for bringing all this information together! Fantastic collection of data.

Extremely incomplete database

I'm assuming that Memory Alpha or Memory Beta have changed something about their website in the last year, but for example, "The Cage" TOS episode only has 4 characters listed in this database.

Problem in searching for species

In the POST /v2/rest/species/search route, the data is not being filtered by the properties informed in the body.
I tried to perform the search by just passing { "name": "892-IV native" } and then with all the properties and continues to bring all the results;

ApiException without details

When attempting to retrieve an EpisodeFullResponse using a String UID value acquired via an EpisodeBaseResponse, I receive an ApiException, but I have no idea why.

I iterate over the EpisodeBase objects returned from the search, and when one matches my desired condition, I assign its UID to a String variable. (I've confirmed that the value is being properly populated to the variable, and that it is correctly typed to String.) Then that String variable is used as the parameter on the get() method of an Episode object.

I have been unable to get anything but an ApiException from this step of my process. It doesn't matter if I follow the example in the Java Client documentation (using hardcoded UID text) or supply a String variable containing the confirmed UID value; the result is the same.

Is there a way to get more detailed error messages from the ApiException to help with debugging?

(My apologies if I'm missing something obvious; I'm new to working with APIs, and there doesn't seem to be much documentation or tutorial material out there for this API. Please let me know if I'm asking in the wrong place or to the wrong people.)

How do I use this without Java?

I would love to use your API for my first ever programming project!

I could not find a resource with the end point url or REST url. All of the tools listed are Java oriented. I am currently learning JavaScript.

For example, I found this link in the code, but that URL just the main page.

The path I am looking for is for the characters.

I am betting it will be something like characters/entity/Janeway.yaml but I cannot figure out the domain. What server should I make the request to?

tl:dr can you show me a curl command to get Janeway's info like gender or DOB.

Looking forward to you help! Thank you.

500 error using API

I am receiving 500 status code when using the API through a client or through the API browser. It is presumably the same error via the API browser, though it does not specify any details or codes. I tried various searches. I receive the error via local and various remote client builds. So it does not appear related to my person computer or internet connection.

I would like to retain STAPI as one of the API services offered by my Star Trek data analysis client (R package), but the online repository it is published to is requiring that I address the issue in my client soon. Please let me know if STAPI is still supported. Kind regards,
Matt

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.