GithubHelp home page GithubHelp logo

decorators-squad / versioneye-api Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 2.0 192 KB

[DEFUNCT] Elegant OOP wrapper over the VersionEye API

Home Page: https://www.versioneye.com/api/

License: BSD 3-Clause "New" or "Revised" License

Java 100.00%
eo java oop versioneye

versioneye-api's People

Contributors

amihaiemil avatar rultor avatar sherifwaly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

versioneye-api's Issues

Authenticated.java:37-39: Implement and unit test...

The puzzle 14-16d6cb26 in src/main/java/com/amihaiemil/versioneye/Authenticated.java (lines 37-39) has to be resolved: Implement and unit test RtNotifications (implements Notifications) and add method notifications() here, to fetch the authenticated user's notifications info.

The puzzle was created by amihaiemil on 18-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

RtOrganization.java:39-39: implement and test `projects()` method.

The puzzle 37-8087fd76 in src/main/java/com/amihaiemil/versioneye/RtOrganization.java (lines 39-39) has to be resolved: implement and test projects() method.

The puzzle was created by amihaiemil on 04-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

Comments.java:38-40: Provide a method to return a Paging,...

The puzzle 19-576c7749 in src/main/java/com/amihaiemil/versioneye/Comments.java (lines 38-40) has to be resolved: Provide a method to return a Paging, which should offer information about the current page, number of pages etc. See src/test/resources/comments.json to see how paging looks like.

The puzzle was created by Mihai Emil Andronache on 21-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

Favorites.java:38-39: Provide integration and unit tests...

The puzzle 20-6a798f06 in src/main/java/com/amihaiemil/versioneye/Favorites.java (lines 38-39) has to be resolved: Provide integration and unit tests for RtFavorites and RtFavorite.

The puzzle was created by Mihai Emil Andronache on 27-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

Teams.java:35-36: Provide RtTeams implementation and...

The puzzle 27-93a42626 in src/main/java/com/amihaiemil/versioneye/Teams.java (lines 35-36) has to be resolved: Provide RtTeams implementation and unit tests. The class should work with a given request and organization name.

The puzzle was created by sherif on 23-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

VersionEye.java:58-58: Add more tests to check that HTTP...

The puzzle 29-855dab61 in src/main/java/com/amihaiemil/versioneye/VersionEye.java (lines 58-58) has to be resolved: Add more tests to check that HTTP reached server.

The puzzle was created by sherif on 19-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

Organizations.java:38-38: Provide RtOrganizations and unit...

The puzzle 27-9c31931b in src/main/java/com/amihaiemil/versioneye/Organizations.java (lines 38-38) has to be resolved: Provide RtOrganizations and unit tests for it.

The puzzle was created by sherif on 23-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

Comments.java:35-37: Provide RtComments implementation and...

The puzzle 11-fc83fc4d in src/main/java/com/amihaiemil/versioneye/Comments.java (lines 35-37) has to be resolved: Provide RtComments implementation and unit tests. The class should work with a given request and username or simply fetch the authenticated user's comments if no username is given.

The puzzle was created by amihaiemil on 18-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

Organization.java:35-36: Provide RtOrganization as...

The puzzle 27-8445ad5b in src/main/java/com/amihaiemil/versioneye/Organization.java (lines 35-36) has to be resolved: Provide RtOrganization as implementation and unit tests. The class should work with a given request and organization name.

The puzzle was created by sherif on 23-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

RtMe.java:82-83: Implement and unit test this method...

The puzzle 11-b1984bcc in src/main/java/com/amihaiemil/versioneye/RtMe.java (lines 82-83) has to be resolved: Implement and unit test this method after we have a working implementation of Favorites in place.

The puzzle was created by amihaiemil on 18-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

RtFavoritesTestCase.java:52-52: Add integration tests for RtFavorites.

The puzzle 40-c1757649 in src/test/java/com/amihaiemil/versioneye/RtFavoritesTestCase.java (lines 52-52) has to be resolved: Add integration tests for RtFavorites.

The puzzle was created by sherif on 28-Apr-17.

Estimate: 15 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

MkVersionEye.java:42-44: Continue implementing the mock API....

The puzzle 13-9719886d in src/main/java/com/amihaiemil/versioneye/MkVersionEye.java (lines 42-44) has to be resolved: "Continue implementing the mock API. Mocks for Users, Organizations Teams etc are needed. This puzzle was readded after being removed by mistake."

The puzzle was created by Mihai Emil Andronache on 12-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

Rethink the visibility for Comments and Favorites

Currently Comments and Favorites are package protected, not visible, because they are used through Page<T> (they are paginated). Let's redesign this a little, since they will have to be visible if they will have post() methods.

RtOrganization.java:39-39: implement and test `teams()` and...

The puzzle 45-46f15e48 in src/main/java/com/amihaiemil/versioneye/RtOrganization.java (lines 39-39) has to be resolved: implement and test teams() and projects() methods.

The puzzle was created by sherif on 04-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

Implement MkJsonUser

This class is needed for the mock version of the API.

public final class MkJsonUser implements MkUser

Interface MkUser contains the write methods for a user's attributes, like username(String), fullname(String) etc

In order to fit in the defined API, and also in order to have read methods, interface MkUser should extend interface Authenticated.

It will be used like this:

MkUser user = new MkJsonUser();
user = user.username("amihaiemil").fullname("Mihai A.");
VersionEye ve = new MkVersionEye(user); 

/*ctor MkVersionEye expects an Authenticated and since
MkUser extends Authenticated, it will be ok.*/

Add rultor, travis and 0pdd

Configure the repo for these 3 services. Leave the rultor release scripts out, they are handled separately

README.md:44-44: Add more examples of usage here

The puzzle 9-5675a4ac in README.md (lines 44-44) has to be resolved: Add more examples of usage here

The puzzle was created by Mihai Emil Andronache on 15-Apr-17.

Estimate: 15 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

RtVersionEye.java:38-41: This class should have more ctors in...

The puzzle 11-99090d22 in src/main/java/com/amihaiemil/versioneye/RtVersionEye.java (lines 38-41) has to be resolved: This class should have more ctors in order to leverage unit testing and usage. It should have at least one ctor where it takes a Request object (so we can pass Fake requests when unit testing). Also, the user might want to configure the original HTTP request.

The puzzle was created by amihaiemil on 18-Apr-17.

Estimate: 30 minutes, role: D.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

NfJsonObjectBuilderImpl.java:48-50: write a synchronized decorator for...

The puzzle 68-193eff96 in src/main/java/com/amihaiemil/versioneye/NfJsonObjectBuilderImpl.java (lines 48-50) has to be resolved: "write a synchronized decorator for this, to make it thread-safe. We need it is used by MkServer, which may be used by more instances of MkVersionEye at once."

The puzzle was created by amihaiemil on 12-May-17.

Estimate: 15 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

Favorites.java:35-37: Provide RtFavorites implementation...

The puzzle 11-51606277 in src/main/java/com/amihaiemil/versioneye/Favorites.java (lines 35-37) has to be resolved: Provide RtFavorites implementation and unit tests. The class should work with a given request and username or simply fetch the authenticated user's favorites if no username is given.

The puzzle was created by amihaiemil on 18-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

Favorites.java:39-40: Implement and unit-test FavoritesPage...

The puzzle 51-cac787c7 in src/main/java/com/amihaiemil/versioneye/Favorites.java (lines 39-40) has to be resolved: Implement and unit-test FavoritesPage (see how CommentsPage is done).

The puzzle was created by amihaiemil on 07-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

Projects.java:35-36: Provide RtProjects implementation and...

The puzzle 27-ddff6a9c in src/main/java/com/amihaiemil/versioneye/Projects.java (lines 35-36) has to be resolved: Provide RtProjects implementation and unit tests. The class should work with a given request and organization name.

The puzzle was created by sherif on 23-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

RtOrganizations.java:46-46: Provide unit tests for this class.

The puzzle 35-79647dcf in src/main/java/com/amihaiemil/versioneye/RtOrganizations.java (lines 46-46) has to be resolved: Provide unit tests for this class.

The puzzle was created by sherif on 03-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

Better paging mechanism

We need a better, more object oriented paging mechanism.
Currently we have Comments.fetch(int page): List<Comment> (which returns the Nth page of comments) and Comments.paging(): Paging which always returns data about the first page. This works, but will make the client's code very procedural.

Instead, we should be having: Comments.fetch(): Page<Comment>, where interface Page is an Iterable, with methods, hasNext and next among others.

RtMe.java:71-72: Implement and unit test this method...

The puzzle 11-77a18dea in src/main/java/com/amihaiemil/versioneye/RtMe.java (lines 71-72) has to be resolved: Implement and unit test this method after we have a working implementation of Comments in place.

The puzzle was created by amihaiemil on 18-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

Implement Authenticated user

We should implement the class JsonAuthenticated (based on Authenticated interface) which offers read methods for all the attributes of the json returned by GET /me. Besides that, it should also have the json() method which returns the plain json representation.

interface Authenticated {
    String firstName();
    String username();
    //...
    JsonObject json();
}

RtProjects.java:40-40: Implement and unit test method fetch().

The puzzle 38-6124748b in src/main/java/com/amihaiemil/versioneye/RtProjects.java (lines 40-40) has to be resolved: "Implement and unit test method fetch()."

The puzzle was created by amihaiemil on 12-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

MkVersionEye.java:37-38: Continue implementing the mock API....

The puzzle 13-64d6efce in src/main/java/com/amihaiemil/versioneye/MkVersionEye.java (lines 37-38) has to be resolved: Continue implementing the mock API. Mocks for Users, Organizations Teams etc are needed,

The puzzle was created by amihaiemil on 08-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

Project.java:8-8: Provide and unit test RtProject.

The puzzle 38-9ba47f0d in src/main/java/com/amihaiemil/versioneye/Project.java (lines 8-8) has to be resolved: "Provide and unit test RtProject."

The puzzle was created by amihaiemil on 12-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

MkVersionEye.java:46-49: Refactor implementation of MkMe so...

The puzzle 63-77eb9a24 in src/main/java/com/amihaiemil/versioneye/MkVersionEye.java (lines 46-49) has to be resolved: "Refactor implementation of MkMe so that it uses the user's username rather that the Authenticated user. Pass Authenticated user to authenticate() method so that the authenticated user won't be retained."

The puzzle was created by sherif on 11-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

RtOrganization.java:12-13: Implement, unit test this class and...

The puzzle 35-de23b30b in src/main/java/com/amihaiemil/versioneye/RtOrganization.java (lines 12-13) has to be resolved: Implement, unit test this class and add methods for the organization attributes as (api_key).

The puzzle was created by sherif on 03-May-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

MkServer should save more authenticated users

Since more instances of MkVersionEye can be used with the same MkServer, it should hold more authenticated users. At the same time, MkVersionEye should support both authenticated and unauthenticated ctors and retain the authenticated user's username, in order to fetch it from MkServer when needed.

Solution to SSLHandshakeException

When you run this the first time, java might not trust the SSL certificate from versioneye, so you need to add the public certificate that they offer into java's trust store: this is the solution (first comment)

Authenticated.java:37-39: Implement and unit test...

The puzzle 14-62b34c59 in src/main/java/com/amihaiemil/versioneye/Authenticated.java (lines 37-39) has to be resolved: Implement and unit test JsonNotifications (implements Notifications) and add method notifications() here, to fetch the authenticated user's notifications info.

The puzzle was created by Mihai Emil Andronache on 18-Apr-17.

Estimate: 30 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD.

Implement a mock version of the api

For unit testing, we should also offer a mock version which will work with a JsonBuilder behind the scenes, instead of making real HTTP calls.

When unit testing, instead of using a real instance:

VersionEye api = new RtVersionEye();

Users should use

VersionEye mockApi = new MkVersionEye();

MkVersionEye.java:39-40: Change ``post()`` method in ``Me`` by...

The puzzle 57-244db6f8 in src/main/java/com/amihaiemil/versioneye/MkVersionEye.java (lines 39-40) has to be resolved: Change post() method in Me by passing a MkUser to the MkVersionEye ctor. (See #59 review)

The puzzle was created by sherif on 10-May-17.

Estimate: 60 minutes, role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and
about me.

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.