decorators-squad / versioneye-api Goto Github PK
View Code? Open in Web Editor NEW[DEFUNCT] Elegant OOP wrapper over the VersionEye API
Home Page: https://www.versioneye.com/api/
License: BSD 3-Clause "New" or "Revised" License
[DEFUNCT] Elegant OOP wrapper over the VersionEye API
Home Page: https://www.versioneye.com/api/
License: BSD 3-Clause "New" or "Revised" License
As explained here: https://www.versioneye.com/api/#/services
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.
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.
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.
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.
Let's add this in-memory http server for unig testing the Rt classes.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.*/
Let's implement the Users Api: https://www.versioneye.com/api/#/users
Configure the repo for these 3 services. Leave the rultor release scripts out, they are handled separately
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.
Let's implement the Me API, which offers information about the authenticated user.
Because of #64, we should use NfJsonObjectBuilder instead of JsonObjectBuilder throughout MkVersionEye.
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.
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.
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.
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.
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.
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.
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.
It is done via http headers with api_token cookie
Start implmenting this.
checkstyle for build time static analysis
At each call to build()
, the builder is flushed. We need a way to copy it before calling build()
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.
Let's build an initial maven project structure.
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();
}
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.
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.
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.
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.
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.
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.
Same as for camel
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)
Start implementing this API.
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.
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();
Let's implement Organizations
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.
Add a mock implementation for Me API.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.