Giter Club home page Giter Club logo

gcaptchavalidator's People

Contributors

pascal-zarrad avatar snyk-bot avatar

Stargazers

 avatar

Watchers

 avatar

gcaptchavalidator's Issues

Add auto deployment

Is your feature request related to a problem? Please describe.
Currently every new version has to be deployed manually which takes time.

Describe the solution you'd like
Add automatic deployment through GitHub actions, so that a stable and snapshot deployment happens automatically as soon as something is merged to develop or master.

Implement request handling

Is your feature request related to a problem? Please describe.
In version 3, it is currently not possible to do a request.

Describe the solution you'd like
Implement the functionality to execute a request and validate captcha response.
No third party libraries should be used except a JSON parser.

Changelog not build properly

Describe the bug
The changelog is not buid properly on the GitHub releases

To Reproduce
Steps to reproduce the behavior:

  1. Do a release deployment
  2. Check if the commits done are listed in the generated changelog

Expected behavior
All commits since the last release that fit the conventional commit format are put into the changelog

Improve unit tests

Is your feature request related to a problem? Please describe.
The current unit tests are more like integration tests. This should be changed.

Describe the solution you'd like
Refactor the unit tests to be really unit tests and not integration tests.

Glue configuration and request handler together.

Is your feature request related to a problem? Please describe.
Currently the request and configuration handlers are components on their own and don't work together intuitivly.

Describe the solution you'd like
Glue them together to simplify usage of the library.

Release version 3

Is your feature request related to a problem? Please describe.
The time has come and version 3 is ready for the first release. Only the documentation and build configuration has to be updated.

Describe the solution you'd like
Update the readme to provide information about the new version.
Adjust the pom.xml to fit the new version.

Automate changlog and release creation

Is your feature request related to a problem? Please describe.
Currently a changelog has to be written manually. This could be changed by switching to conventional (semnatic) commit messages. A GitHub action can the generate a release with a proper changelog build from the commit messages.

Describe the solution you'd like
Define conventional (semantic) commits as standard.
Implement automatic creation of releases when a tag is created.

Additional context
The commit message standard that may be used: https://www.conventionalcommits.org/en/v1.0.0/

Action that may help creating automatic releases: https://github.com/marketplace/actions/generate-changelog-action

Create data translation layer

Is your feature request related to a problem? Please describe.
Currently there is nothing that can translate the received JSON data to POJOs.

Describe the solution you'd like
Implement some data processing that allows the translation from JSON to POJOs and vice versa.
Also the generall JSON processing should be implemented. A library can be used - the library should be as tiny and fast as possible to reduce the overhead.

Adjust deployment and merging workflow

Is your feature request related to a problem? Please describe.
Automatic deployment has been added and is enabled. But currently there are no git tags created during master (release) deployment. An automatic creation of tags should be added, so that the maintainer only has to create the GitHub release itself using the created tag and collected artifacts.
In addition, a PR could currently push to develop with a version suffixed with "-SNAPSHOT" which is evil as the "-SNAPSHOT" suffix is handled by us.

Describe the solution you'd like
Create a git tag during master (release) deployment.
Add a workflow that prevents merging when the defined version in the pom.xml is suffixed with "-SNAPSHOT".

Additional context
To get the current version xmlstarlet can be used (see .github/workflows/deploy.yml -> xmlstarlet sel which is embedded in one of the commands).

Migrate to GitHub actions

Is your feature request related to a problem? Please describe.
Currently the CI used by the project is TravisCI. An user has to switch to travisci.org to check CI builds. This can be prevented by using GitHub actions.

Describe the solution you'd like
Migrate the current TravisCI config to GitHub actions and add some further workfows to reduce amount of effort for specific tasks.

Implement configuration system

Is your feature request related to a problem? Please describe.
Currently configuration for version 3 is not possible.

Describe the solution you'd like
Implement basic configuration that is used to set things like the recaptcha secret.

Update dependencies

Is your feature request related to a problem? Please describe.
Currently the dependencies are quite old. They may be updated to the latest compatible version.

Describe the solution you'd like
Update the dependencies (especially build tools).

Implement GSON serializers and deserializers

Is your feature request related to a problem? Please describe.
A custom format for results is being used by GCaptchaValidator that is more pleasing for developers. This format requires some JSON <-> POJO mapping to work.

Describe the solution you'd like
Implement custom serializers and deserializers for the request and result objects.
Also route the secret from the configuration into the request object.
During this tasks, some rewriting of the models might be done to move them into root package and ensure that their implementation details can be completly hidden from the end user.
Also the "additional parameters" should be removed from the request to simplify the library and remove unneccessary overhead.
The response should now be completly immutable.
The ReCaptcha version should be now immutable.

Additional context
The first concept of the GCaptchaValidator rewrite is too complex in some parts.
A naming scheme to split API classes/interfaces from implementation details should be applied, as there won't be much packages to reduce the need of unneccessary public methods.

Update community content

Is your feature request related to a problem? Please describe.
Currently no features are used that may make it easier to manage the project or organize open source contributions.

Describe the solution you'd like
Add guidelines, templates and so on (as in other repos on the @pascal-zarrad account).

Add automatic rebasing

Is your feature request related to a problem? Please describe.
Currently everything - except rebasing develop after a release - is being automated. This might be changed.

Describe the solution you'd like
Add automatic rebasing of develop using a GitHub Action or bot.

Additional context
A solution for the protected branch issue should be developed.

Remove version 2 from develop

Is your feature request related to a problem? Please describe.
Currently the code of version 2 still lies around on the active develop branch.

Describe the solution you'd like
The code should be removed to get started with version 3.

Check library functionality

Is your feature request related to a problem? Please describe.
It should be checked if the current version of the library still works as intended. If it does not work as intended, a fix for v2 should be implemented before development of v3 support modern versions of Google ReCaptcha.

Describe the solution you'd like
Check if the current version of GCaptchaValidator still works as intended. Fix the current version if it is no longer working.

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.