GithubHelp home page GithubHelp logo

java-osuapiv1's People

Contributors

tais993 avatar

Watchers

 avatar  avatar

java-osuapiv1's Issues

Enhance functionality Cache

Introduce a couple of methods:

  • filter
  • stream
  • parallelStream
  • asList
  • asSet
  • toArray
  • getItemsById
  • getItemsByName
  • collect
  • size
  • isEmpty
  • contains
  • containsAll

Caching

The user might wants to cache certain entities to lower the amount of repeating calls.
Our wrapper takes care of that and caches for them.

This makes caching a lot easier for our users.

Enhance User

Add LocalDateTime getter for the JoinTime

Implement getters for the user's Profile picture, see osu-api-wiki

Create OAW + OAWBuilder

The basic of the project.
Implement settings, and such, so the user can customize things.

Rename to Osu4J

It's just a simpler name, and I'd personally argue better (not so complex)

Enhance Javadoc

  • Add more @see
  • Add dots at the end of sentences
  • Add missing line breaks
  • Fix broken {@link } uses

Separate API and internal with modules

Making usage of modules would result in only the API having javadoc, instead of both.
The internal module will just not generate javadoc, and it's also good practice.

Re-make Mono<?> (not Mono<Collection>) returning retrieve methods

After some thinking, in most cases it doesn't make sense to just grab the first item.
Instead, I should make sure only 1 items exists, and if only 1 item exists return.

Most of the times, the API returns an array. So just throwing away all the existing items doesn't make sense IMHO.

And such behavior might result in things the user didn't expect

Documentation

None of the code currently has documentation.

Add documentation before proceeding on any other issues.

Hierarchy scores

There's multiple kinds of scores, and they all have mutual values.

The different scores:
Scores <- BeatmapScore in code
Best Performance <- BestPerformance in code
Recently Played <- Recently Played in code

List of all mutual fields:

  • score
  • maxcombo
  • count50
  • count100
  • count300
  • countmiss
  • countkatu
  • countgeki
  • perfect
  • date
  • rank
  • enabled_mods

If we create a BaseScore which contains all these fields, we won't have to duplicate a lot of code 3x, which also makes using the scores easier for users.

  • Create an interface hierarchy
  • Create BaseScore implementation
  • Create other implementations
  • Add to cache
  • Add requesters
  • Add retrievers on OAWv1
  • Add docs

Add null + range checks

Make sure all methods marked with @NotNull validate the argument given, same applies for Range

  • Range
  • NotNull
  • Every method has a nullability annotation

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.